Formular " indaratnic " ...

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

papaleon
Average Member
Mesaje: 87
Membru din: Dum Dec 27, 2015 11:26 pm

Formular " indaratnic " ...

Mesajde papaleon » Sâm Noi 19, 2016 5:32 pm

Scuzati ca vin cu o problema asa de simpla, dar, desi am cautat prin toate tutorialele, nu reusesc sa-i dau de cap ...
Revin la subiectul anterior la care am acum o alta problema ...
Am acest cod pe care-l apelez dintr-o pagina HTML cu: Autentificare client si prin care doresc sa introduc intr-un table in DB
nume si prenume client, dar fara sa fiu nevoit sa ies din pagina, adica insert sa se faca in continuarea rularii formularului ...

<?php
require("db_connect.php");
if (!isset($_POST['op'])){
echo"<form name=\"Autentificare client\" action=\"$_SERVER[PHP_SELF]\" method=\"POST\">
Nume:
<input type=\"text\" size=\"20\" maxlength=\"30\" name=\"nume\" id=\"nume\">
Prenume:
<input type=\"text\" size=\"20\" maxlength=\"30\" name=\"prenume\" id=\"prenume\" >
<input type=\"submit\" name=\"button\" value=\"APLICA\" style=\"color:green; font-size:14px\">
</form>";

doDB();
if(($_POST['nume']) || ($_POST['prenume'])){
$sql1 = "insert into clienti_autent values (null, '$_POST[nume]', '$_POST[prenume]', now(), now())";
if (mysqli_query($conn, $sql1)or die(mysql_error())){
$client_id = mysqli_insert_id($conn);
$_SESSION['client_id'] = $client_id;
$_SESSION['nume'] = $_POST['nume'];
$_SESSION['prenume'] = $_POST['prenume'];
}
echo "Esti inregistrat:"."&nbsp"."$_SESSION[client_id]"."&nbsp"."$_SESSION[nume]"."&nbsp"."$_SESSION[prenume]<br>";
}else {header("Location:$_SERVER[PHP_SELF]");
}
}
?>

Autentifica-te !
Nume:
Prenume:

La rulare afiseaza formularul dar sub el in continuare imi afiseaza mesajele de eroare ...

( ! ) Notice: Undefined index: nume in C:\wamp\www\..............\Autentificare client V1.php on line 30
( ! ) Notice: Undefined index: prenume in C:\wamp\www\............\Autentificare client V1.php on line 30
( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\.........\index_0.html:108) in C:\wamp\www\.............\Autentificare client V1.php on line 39
1 0.0000 138952 {main}( ) ...\index_0.html:0
2 0.0000 156648 require( 'C:\wamp\www\ServitecBazar\ServitecBazar_fisiere-comune\rutine_php\Autentificare client V1.php' ) ...\index_0.html:134
3 0.0000 166696 header ( ) ...\Autentificare client V1.php:39

Chiar si cu acele erori pe pagina, daca introduc date in formular, dupa Submit, imi insereaza datele in DB si dispar si erorile ...
Am incercat toate variantele si cautat prin toate forumurile si nu reusesc sa inteleg cum pot rezolva problema ...
Singura modalitate gasita, este ca dupa ce am introdus datele prin formular, sa apelez o alta pagina care sa-mi introduca datele in DB, dar asta este ce nu doresc ...
Am experimentat toate codurile gasite prin tutoriale, dar la toate dau de aceasta incurcatura ...
Nu am nevoie de coduri ci de configurarea structurii Formular >> insert in DB ...
Ultima oară modificat Lun Noi 21, 2016 5:26 pm de către papaleon, modificat 1 dată în total.



takedown
Average Member
Mesaje: 153
Membru din: Joi Feb 07, 2013 8:50 pm
Contact:

Re: Undefined index: OP in C:\...

Mesajde takedown » Sâm Noi 19, 2016 7:38 pm

Da, incerca o alta abordare, separa HTML-ul de PHP.Eroarea asta iti spune ca acea variabila nu exista, cu alte cuvinte, in matricea $_POST nu se afla nici un element al carui index este "op", este ca si cum as face:

Cod: Selectaţi tot

<?php

echo $_POST['op'];

papaleon
Average Member
Mesaje: 87
Membru din: Dum Dec 27, 2015 11:26 pm

Re: Undefined index: OP in C:\...

Mesajde papaleon » Dum Noi 20, 2016 2:40 pm

Da, am inteles ca asta e, dar este o secventa dupa manualul "INVATA SINGUR PHP, MySQL ..." unde la toate exercitiile asa sunt codurile cu formulare si in PHP... ar tebui sa renunt la verificarea existentei formularului ?!? ... TKS, pentru atentia acordata !

takedown
Average Member
Mesaje: 153
Membru din: Joi Feb 07, 2013 8:50 pm
Contact:

Re: Undefined index: OP in C:\...

Mesajde takedown » Dum Noi 20, 2016 2:54 pm

Acel manual este invechit, se separa HTML-ul de PHP ca sa poti intelege mai bine ceea ce scrii, si nu numai atat, iti organizezi proiectele mult mai bine.Mai exact, ce vrei sa verifici tu? Te pot ajuta sa-ti organizezi codul mult mai bine, dar nu prea inteleg despre ce este vorba.

Apropo, nu folosi $_SERVER[PHP_SELF], creaza o gaura in securitatea aplicatiilor.

Tu vrei sa verifici daca formularul a fost completat, cu alte cuvinte, daca a fost apasat butonul de trimitere al datelor?


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 66 vizitatori