Eroare de definire, Undefined index si altele

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
cadou
Mesaje:328

Eroare de definire, Undefined index si altele

Deci aici e codu, URL: scapadeplictiseala.tk/aaa
Cand intru pe pagina de inregistrare apare eroarea:

Cod: Selectaţi tot

Notice: Undefined index: register_nume in /home/a5485229/public_html/inregistrare.php on line 57
Dar daca completez formularul functioneaza perfect, trimite datele in baza de date deci e ok.
Dar apare eroarea asta cand intru pe pagina de inregistrare dar nu stiu de ce ?
Cand am construit codu pe o pagina de "test.php" mergea perfect fara erori.

Si as mai vrea ceva, cand o persoana se inregistreaza sa imi trimita in baza de date ip de inregistrare, data de inregistrare.(in table am denumite ip_reg si dtreg)
Si inca ceva vreau sa adaug inca un camp, acela fiind optional daca il completezi sau nu, l-am pus si pe acela prima data si completam tot in afara de acest camp optional, dar nu imi trimitea datele, daca completam si campul optional imi trimitea si datele. Eu vreau ca sa trimita datele chiar daca nu se completeaza acest camp optional , cum fac ?

MarPlo Mesaje:4343
Acea eroare apare fiindca PHP nu primeste date pt: $_POST['register_nume'] cand fisierul nu e accesat prin trimiterea formularului.
Ca sa nu mai apara acea eroare, ar trebui verificat cu isset() daca acea variabila POST_$ exista.
Ceva asa:

Cod: Selectaţi tot

if(isset($_POST['register_nume'])) {
  // cod php care foloseste  $_POST['register_nume']
}
- IP-ul utilizatorului se poate prelua cu:

Cod: Selectaţi tot

$ip = $_SERVER['REMOTE_ADDR'];
- Data si ora se pot defini in PHP cu functia: date() , vezi tutorialul acesta: PHP Date and Time (in engleza).

cadou Mesaje:328
Am rezolvat-o cu numele acolo eroarea aia. Ms mult de tot. dar am incercat sa bag si ip-u sa apara la inregistrare, dar nu imi merge. Uite aici codu cu ip-ul, URL: scapadeplictiseala.tk/aaa

MarPlo Mesaje:4343
Adresa IP se preia cu $_SERVER['REMOTE_ADDR'] , nu e nevoie de campul de formular "register_ip_reg" si nici de $_POST['register_ip_reg'].
Poti inlocui in codul php asa (si sa stergi ce e cu "register_ip_reg").

Cod: Selectaţi tot

$ip_user = $_SERVER['REMOTE_ADDR'];
 
Apoi adaugi in commanda sql Insert variabila $ip_user .
In rest, nu am stat sa verific acel cod.

cadou Mesaje:328
ms marplo am rezolvat si cu ipu. dar am o problema cu data de inregistrare, am facut acolo la cod dar in tabel apare doar ziua nu apare zi-luna-an . am adaugat codu asta : $dtreg = strftime('%d_%B_%Y'); , am mai adaugat si altele si la fel doar ziua se adauga

MarPlo Mesaje:4343
Depinde de tipul coloanei pt data si timp din MySQL.
Pt. Zi-Luna-An in PHP poti folosi asa:

Cod: Selectaţi tot

$dtreg = date('d-m-Y');
Lucru cu data si timp in PHP - MySQL necesita ceva experienta. Poti studia tutoriale de pe net, la cautare: "data si timp in mysql", sau mai bine in engleza: "tutorial date and time in mysql".

cadou Mesaje:328
La data am folosit tipul INT si 11 caractere , dar am folosit si cum mi-ai zis tu:
$dtreg = date('d-m-Y');
Si imi apare doar ziua atat, luna si anul nu.
Am sa caut pe net ce mi-ai zis si te anunt daca am rezolvat ceva sau nu.

Edit:
Am rezolvat-o, era din tabel la tip , gata acum afiseaza.

Subiecte similare