- Home
- Categorie
- Coding e Sistemistica
- PHP
- Please, help me!
-
Please, help me!
Ciao a tutti!
Ho un problema con una pagina PHP. Mi da quest'errore:
**Notice: Undefined index: data_acc in **C:\xampp\htdocs\modello1\control.php on line **31 Errore durante il trasferimento dei dati******
Questo è il mio codice della pagina "control.php":
<html lang="en"> <head> <title>Redirect...</title> </head> <body> <?php $conn = mysql_connect("localhost","root",""); if (!$conn) { die('Connessione mancata con il root. Errore: ' . mysql_error()); } $select = mysql_select_db("sabicom",$conn); if (!$select) { die("Errore nella connessione con il database. Errore: " . mysql_error()); } $user = trim($_POST['user']); $pwd = trim($_POST['pwd']); $sql = "SELECT Username, Pwd FROM iscritti WHERE Username = '$user' AND Pwd = '$pwd';"; $result = mysql_query($sql); if (!$result) { echo('Errore durante il trasferimento dei dati. Username e/o Password errati'); header('location: index.php'); } else { $user = trim($_POST['user']); $data_acc = trim($_POST['data_acc']); $sql = " "; $sql = "INSERT INTO accesso (Username, Data-ora_accesso) VALUES('$user', '$data_acc');"; $result = mysql_query($sql); if (!$result) die('Errore durante il trasferimento dei dati'); else header("location: home.html"); } ?> Ti stiamo reindirizzando alla pagina principale... </body> </html>
L'attributo "data_acc" lo prendo dalla pagina "index.php" così:
<input type="text" value="<?php $today = date('Y.m.d H.i'); echo $today;?>" name="data_acc" disabled="disabled" />
Potreste aiutarmi?
Grazie in anticipo.
-
Prova a scrivere:
if (isset($data_acc)) { $sql = 'INSERT INTO accesso (Username, Data-ora_accesso) VALUES ("'.$user.'", "'.$data_acc.'");'; $result = mysql_query($sql); }
-
No... Non fuziona ho provato in vari modi, ma nulla...
-
Ciao,
stai utilizzando $_POST['data_acc'] prima di verificare che ci siano i dati in input. Inoltre gli input disabled non vengono spediti al server, per cui quell'input non verrà mai inviato, se devi fare in modo che l'input non sia modificare ma sia spedito devi usare readonly.
-
Ciao!
Ho usato il readonly, ma non funziona lo stesso! Mi da' sempre lo stesso problema!
-
Una volta impostato come read only devi usare isset prima di utilizzare $_POST['data_acc'], altrimenti avrai sempre un notice.
-
E' esattamente quello che ho fatto!
Ho scritto così:if (isset($data_acc)) { $sql = "INSERT INTO accesso (Username, Data-ora_accesso) VALUES('$user', '$data_acc');"; $result = mysql_query($sql); }
Come posso correggerlo?
-
L'hai messo su $data_acc, quello c'è sempre visto che hai messo chiaramente un $data_acc = qualcosa
Manca invece $_POST['data_acc']Devi fare una cosa di questo genere:
[php]
$user = trim($_POST['user']); $data_acc = trim($_POST['data_acc']); $sql = " "; $sql = "INSERT INTO accesso (Username, Data-ora_accesso) VALUES('$user', '$data_acc');"; $result = mysql_query($sql); if (!$result) die('Errore durante il trasferimento dei dati'); else header("location: home.html");[/php]In:
[php]
if(isset($_POST['user']) && isset($_POST['data_acc']))
{
$user = trim($_POST['user']); $data_acc = trim($_POST['data_acc']); $sql = " "; $sql = "INSERT INTO accesso (Username, Data-ora_accesso) VALUES('$user', '$data_acc');"; $result = mysql_query($sql); if (!$result) die('Errore durante il trasferimento dei dati'); else header("location: home.html");}[/php]
-
Ok! Ora funziona!
Grazie mille!
-
Figurati.
Fai attenzione che i tuoi script sono vulnerabili ad SQL Injection, trovi maggior informazioni qui:
http://www.giorgiotave.it/forum/scripting-e-risorse-utili/189074-guida-sql-injection.html
-
@Thedarkita said:
Figurati.
Fai attenzione che i tuoi script sono vulnerabili ad SQL InjectionQuoto e ti consiglio la sintassi mysqli.