- Home
- Categorie
- Coding e Sistemistica
- PHP
- Avviso NOTICE in PHP
-
Avviso NOTICE in PHP
Ciao a tutti,
mi potete indicare cortesemente quale errore di sintassi sto facendo in questo file php?$inserimento=mysql_query("insert into rec (nome_utente, data_ora_ins) values ("$_POST[nome_utente]", now())");
Richiamando il file mi appare l'errore:
Notice: Undefined index: nome_utente in C:..... on line.....
Grazie mille e buona giornata a tutti
-
penso che debba mettere a posto le virgolette nella query dove richiami $_POST[nomeutente] invece che $_POST['nomeutente']
in pratica:
[php]$inserimento= mysql_query("INSERT INTO rec (nome_utente, data_ora_ins) VALUES ('".$_POST['nome_utente']."', now())");[/php]
-
Non capisco....ho provato con la modifica ma mi compare comunque lo stesso errore.
Uso EasyPHP come programma per simulare, che include PHP versione 5.2.0, non so se può essere di aiuto...
-
Sei sicuro che $_POST['nome_utente'] esista?
Probabilmente non è dichiarato...Comunque vorrei anche sapere da dove arriva quel now(). E' una funzione?
-
$inserimento=mysql_query("insert into rec (nome_utente, data_ora_ins) values ("$_POST[nome_utente]", now())");
Prova così
$inserimento=mysql_query('insert into rec (nome_utente, data_ora_ins) values ("'.$_POST['nome_utente'].'", now())');Consiglio: conviene sempre filtrare $_POST['nome_utente'] con apposite funzioni.
-
Vi spiego bene il tutto perche' mi rendo conto di avervi dato poche informazioni.
In pratica ho creato una database, vi faccio l'esempio che vi allego, con due campi: nome_utente di tipo varchar(40) e data_ora_ins di tipo datetime.
Ho creato un unico file in php con uno switch, diviso in tre parti: la form in html dove scrivo il nome, la seconda parte che scrive i dati della form nel database, e il terzo campo che visualizza i dati del database a video.
Ho easyPHP installato, quindi se provo a richiamare la parte che elabora i dati e li scrive nel database, appare l'errore che vi ho segnalato "Notice: Undefined index: nome_utente ".
I dati che vengono scritti nel database sono quindi: il nome utente e la data e l'ora di inserimento del record nel database.
Non riesco a capire come posso risolvere quella segnalazione notice...ho bisogno del vostro aiuto.
Grazie mille per la vostra disponibilità e buona giornata a tutti.
Ecco il file php:
[php]<?php
$connessione=mysql_connect("localhost", "root", "");
$selezione_db=mysql_select_db("prova_db", $connessione);
?>
<HTML>
<HEAD>
<TITLE>titolo</TITLE>
</HEAD>
<BODY>
<?php
function nrec(){
?>
<form name="moduloGuest" id="moduloGuest" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="azione" value="elabora" />
<table><tr> <td><strong> Indica cortesemente il tuo nome </strong></td> <td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" value=""></td>
</tr>
<tr> <td align="center" colspan="2"><input type="submit" value="Invia il messaggio!"></td>
</tr>
</table>
</form>
<?php
}
function elabora(){
$inserimento=mysql_query("insert into recensioni (nome_utente, data_ora_ins) values ('".$_POST['nome_utente']."', now())");
echo "inviato con successo";}
?>
<?php
function read(){
$lettura_risultati=mysql_query("select nome_utente, date_format(data_ora_ins, '%d/%m/%Y - ore %H:%i:%s') as data_formattata from recensioni order by nome_utente");
if(mysql_num_rows($lettura_risultati)>0){
echo "<table>";
$flag_colore=0;
while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
$nome_utente=$scatola_temporanea['nome_utente'];
$data_ora_ins=$scatola_temporanea['data_formattata'];
echo "<tr>";
if($flag_colore==0){
echo "<td bgcolor="#FFFF00">";
$flag_colore=1;
}
else{
echo "<td bgcolor="#C0C0C0">";
$flag_colore=0;
}
echo "<strong>Utente:</strong> $nome_utente<br><br><strong>Data inserimento recensione:</strong> $data_ora_ins<br><br>";
echo "</tr>";
}
echo "</table>";
}
else{
echo "Non é stata inserita ancora nessun record in questa sezione. Se hai piacere essere il primo, clicca nella scelta <a href="nrec.html">Nuova Recensione</a>";
}
}
switch($_REQUEST['azione'])
{
case "inserisci":
nrec();
break;
case "elabora":
elabora();
break;
case "leggi":
read();
break;
}
?>
</body>
</html>[/php]
-
Semplicissimo!
[PHP]<?php
$connessione=mysql_connect("localhost", "root", "");
$selezione_db=mysql_select_db("prova_db", $connessione);
?>
<HTML>
<HEAD>
<TITLE>titolo</TITLE>
</HEAD>
<BODY>
<?php
function nrec(){
?>
<form name="moduloGuest" id="moduloGuest" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="azione" value="elabora" />
<table><tr> <td><strong> Indica cortesemente il tuo nome </strong></td> <td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" value=""></td>
</tr>
<tr> <td align="center" colspan="2"><input type="submit" value="Invia il messaggio!"></td>
</tr>
</table>
</form>
<?php
}
function elabora(){
if($_POST){
$inserimento=mysql_query("insert into recensioni (nome_utente, data_ora_ins) values ('".$_POST['nome_utente']."', now())");
echo "inviato con successo";}
}else{
die("Inserisci l'utente!");
}
?>
<?php
function read(){
$lettura_risultati=mysql_query("select nome_utente, date_format(data_ora_ins, '%d/%m/%Y - ore %H:%i:%s') as data_formattata from recensioni order by nome_utente");
if(mysql_num_rows($lettura_risultati)>0){
echo "<table>";
$flag_colore=0;
while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
$nome_utente=$scatola_temporanea['nome_utente'];
$data_ora_ins=$scatola_temporanea['data_formattata'];
echo "<tr>";
if($flag_colore==0){
echo "<td bgcolor="#FFFF00">";
$flag_colore=1;
}
else{
echo "<td bgcolor="#C0C0C0">";
$flag_colore=0;
}
echo "<strong>Utente:</strong> $nome_utente<br><br><strong>Data inserimento recensione:</strong> $data_ora_ins<br><br>";
echo "</tr>";
}
echo "</table>";
}
else{
echo "Non é stata inserita ancora nessun record in questa sezione. Se hai piacere essere il primo, clicca nella scelta <a href="nrec.html">Nuova Recensione</a>";
}
}
switch($_REQUEST['azione'])
{
case "inserisci":
nrec();
break;
case "elabora":
elabora();
break;
case "leggi":
read();
break;
}
?>
<br /><div style="z-index:3" class="smallfont" align="center">SEO by vBSEO 3.2.0 2008, Crawlability, Inc.</div></body>
</html>[/PHP]
-
Grazie mille ora funziona!
grazie mille a tutti
-
Prego