- Home
- Categorie
- Coding e Sistemistica
- Coding
- non inserisce i dati nel db
- 
							
							
							
							
							Però inseriva lo stesso due volte nel db, lo stesso messaggio...allora posso togliere quello che ho già messo in commento? 
 
- 
							
							
							
							
							Si lo puoi togliere tranquillamente, visto che non ti serve a nulla. 
 
- 
							
							
							
							
							ok, ti ringrazio! 
 
- 
							
							
							
							
							però inserisce sempre doppio messaggio nel db..e vedo il titolo attaccato al messaggio anche se metto il br...come posso risolvere? 
 
- 
							
							
							
							
							anzi ogni volta che ricarico la pagina mi trovo altri messaggi identici, e lo stesso capita nel db!! 
 
- 
							
							
							
							
							Questo è normale, visto che hai unito visualizzazione e inserimento nella stessa pagina, come ti avevo già detto prima dovrebbero essere 2 cose separate. 
 
- 
							
							
							
							
							@Thedarkita said: Questo è normale, visto che hai unito visualizzazione e inserimento nella stessa pagina, come ti avevo già detto prima dovrebbero essere 2 cose separate. Hai ragione, scusa non avevo ben capito cosa..pensavo si riferisse solo alla stampa a video..provvedo a correggere! 
 
- 
							
							
							
							
							Ho creato un'altra pagina..solo che vedo errori di notice, anche se ho richiamato le varibiali...ecco il codice.. 
 Notice: Undefined index: title in C:\xampp\htdocs\prova\annunci.php on line 59Notice: Undefined index: body in C:\xampp\htdocs\prova\annunci.php on line 60 [PHP]<?php 
 //inizio la sessione utente
 session_start();
 include("varDB.inc");
 //creo una connessione al db e lo seleziono
 $conn=mysql_connect("localhost","root","");
 mysql_select_db("sito");?> <html> <!-- striscia in alto--> <head> <link rel="stylesheet" type="text/css" href="stile.css"> <title>Inserisci </title> </head> <body> <table> <tr> <td> <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p> </td> </tr> </table> <div id="menu"> <ul> <?php //controllo che ci sia una sessione utente, altrimenti "sessione scaduta" if(isset($_SESSION['utente'])){ echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>"; echo"<li><a href='login.php?azione=logout'>logout</a></li>"; echo"<li><a href='cancellato.php'>cancella</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div><?php 
 $title=$_POST['title'];
 $body=$_POST['body'];
 $risultato = mysql_query("SELECT * FROM annunci_cerco WHERE title='$title' AND body='$body' ");
 //mostro tutti gli annunci inseriti
 while ($riga = mysql_fetch_array($risultato)) {
 echo" <font color='black' face='times new roman' size='4px'>";
 echo $riga['title'] ;echo"<br>"; 
 echo"<br>";
 echo"<br>";
 echo"<font color='black' face='times new roman' size='4px'>";
 echo $riga['body'];} 
 mysql_close();
 ?>
 </body></html> 
 [/PHP]
 
- 
							
							
							
							
							Significa che le 2 variabili POST non hanno quei 2 indici che stai utilizzando al momento dell'accesso alla pagina. 
 
- 
							
							
							
							
							@Thedarkita said: Significa che le 2 variabili POST non hanno quei 2 indici che stai utilizzando al momento dell'accesso alla pagina. mmm...eppure a me sembra di aver messo gli stessi indici... 
 
- 
							
							
							
							
							Si, ma alla pagina ci arrivi mediante il form? Altrimenti non invi nulla con il metodo post ed è normale vedere quei messaggi di avviso. 
 
- 
							
							
							
							
							hai ragione..non ci arrivo tramite il form, ma non saprei come altro richiamare le variabili title e body... 
 
- 
							
							
							
							
							Ma in questa pagina, a cosa ti servono? 
 
- 
							
							
							
							
							[PHP]<?php 
 //inizio la sessione utente
 session_start();
 include("varDB.inc");
 //creo una connessione al db e lo seleziono
 $conn=mysql_connect("localhost","root","");
 mysql_select_db("sito");
 //inizializzo la variabile messaggio
 $messaggio="";?> <html> <!-- striscia in alto--> <head> <link rel="stylesheet" type="text/css" href="stile.css"> <title>Inserisci </title> </head> <body> <table> <tr> <td> <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p> </td> </tr> </table> <div id="menu"> <ul> <?php //controllo che ci sia una sessione utente, altrimenti "sessione scaduta" if(isset($_SESSION['utente'])){ echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>"; echo"<li><a href='login.php?azione=logout'>logout</a></li>"; echo"<li><a href='cancellato.php'>cancella</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div><?php $risultato = mysql_query("SELECT * FROM annunci_cerco"); //mostro tutti gli annunci inseritiwhile ($riga = mysql_fetch_array($risultato)) { 
 echo" <font color='black' face='times new roman' size='4px'>";
 echo $riga['title'] ;echo"<br>"; 
 echo"<br>";
 echo"<br>";
 echo"<font color='black' face='times new roman' size='4px'>";
 echo $riga['body'];} mysql_close();?> 
 </body></html> 
 [/PHP]hai ragione, non mi servono a nulla, perchè prima nella query della select avevo messo le variabili title e body, mentre togliendo tutto funziona alla perfezione!ecco il codice corretto... però un'altra cosa.. come faccio ad andare a capo?perchè il br non funziona e il body e il titolo successivo sono attaccati... 
 
- 
							
							
							
							
							Il br devi metterlo dopo echo $riga['body']; altrimenti non ottieni ciò che vuoi. 
 È fondamentale che studi un pò di html, perchè lavorando con php si da per scontato di sapere perfettamente come funziona html, altrimenti lavorare con moduli o anche un semplice andare a capo ti fà perdere moltissimo tempo, in quanto vai per tentativi.
 
- 
							
							
							
							
							hai ragione..ti chiedo anche se posso mettere le stringhe in questo modo o c'è un modo per accumunarne? [PHP]echo $riga['title']; echo"<br> "; echo $riga['body']; 
 [/PHP]
 
- 
							
							
							
							
							Puoi fare cosi: 
 [php]
 echo $riga['title']."<br>".$riga['body'];
 [/php]
 
- 
							
							
							
							
							@Thedarkita said: Puoi fare cosi: 
 [php]
 echo $riga['title']."<br>".$riga['body'];
 [/php]Grazie del tuo prezioso aiuto!!Adesso però vorrei che l'utente visualizzasse l'ultimo annuncio inseritoe poi potesse tornare agli altri..come posso fare? 
 
- 
							
							
							
							
							Volevo chiedere come faccio ad inserire il nome dell'autore dei messaggi nella tabella annunci? 
 perchè quando inserisco gli annunci, non inserisce il username dell'autore nel db, e ogni volta che inserisco l'annuncio lo visualizzo con il nome dell'utente che ha eseguito la sessione...allego il codice...non so se son stata molto chiara... 
 [PHP]<?php
 //inizio la sessione utente
 session_start();
 //includo i parametri del db
 Include("varDB.inc");
 //creo una connessione al db e lo seleziono
 $conn=mysql_connect("localhost","root","") or die;
 mysql_select_db("sito") or die;
 //inizializzo la variabile messaggio
 $messaggio="";
 ?><html> <!-- striscia in alto--> <head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>Inserisci </title> </head> <body> <!-- strisci in alto --> <table> <tr> <td> <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p> </td> </tr> </table> <div id="menu"> <ul> <?php //controllo che ci sia una sessione utente, altrimenti "sessione scaduta" if(isset($_SESSION['utente'])){ echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>"; echo"<li><a href='login.php?azione=logout'>logout</a></li>"; echo"<li><a href='cancellato.php'>cancella</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div><?php 
 //controllo che ci sia una sessione utente, altrimenti "sessione scaduta", mostro il form di inserimento dati
 if (isset($_SESSION['utente'])){?> <form method="POST" action="entra.php"> 
 <p>Inserisci i tuoi annunci</p>Titolo<input type="text" name="title" value=""/><br> Testo<textarea name="body" cols="10" rows="10"></textarea> <input type="submit" name="invia" value="inserisci"/></form> 
 <?php}else{ $messaggio="<font color='black' face='times new roman' size='4px'>sessione scaduta"; } 
 //chiudo la connessione al db
 mysql_close();
 ?></body></html>[/PHP] [PHP]<?php 
 //inizio la sessione utente
 session_start();
 include("varDB.inc");
 //creo una connessione al db e lo seleziono
 $conn=mysql_connect("localhost","root","") or die;
 mysql_select_db("sito") or die;
 //inizializzo la variabile messaggio
 $messaggio="";?> <html> <head> 
 <!-- striscia in alto -->
 <title>annunci</title>
 <!--css esterno-->
 <link rel="stylesheet" type="text/css" href="stile.css">
 </head>
 <body>
 <table>
 <tr>
 <td>
 <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p></td> </tr> </table> <div id="menu"> <ul> <?php //controllo che ci sia una sessione utente, altrimenti "sessione scaduta" if(isset($_SESSION['utente'])){ echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>"; echo"<li><a href='login.php?azione=logout'>logout</a></li>"; echo"<li><a href='cancellato.php'>cancella</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio="<font color='black' face='times new roman' size='4px'>sessione scaduta"; }//richiamo i dati inseriti nel form tramite la variabile superglobale $_POST 
 $username=$_SESSION['utente'];
 $title=$_POST['title'];
 $body=$_POST['body'];
 //eseguo i controlli relativi alla compilazione dati
 if($title=="" ||$body==""){
 echo "<font color='black' face='times new roman' size='4px'>Non hai riempito i campi";}else{ //se è tutto ok, inserisco i dati nel db $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco (username,title,body) VALUES ('$username','$title','$body')"); } //se i dati sono inseriti mostro gli annunci inseriti if($inserimentoannunci){ echo"inserimento riuscito"; //header location visualizza.php //?id:articolo=ultimo header("refresh:2; URL=annunci.php"); //se ci sono problemi stampo messaggio di errore }else{ $messaggio="<font color='black' face='times new roman' size='4px'>errore"; } //inteerrrompo la connessione con il db mysql_close(); ?> </ul> </div></body> </html> [/PHP] [PHP]<?php 
 //inizio la sessione utente
 session_start();
 //includo i parametri del db
 include("varDB.inc");
 //creo una connessione al db e lo seleziono
 $conn=mysql_connect("localhost","root","");
 mysql_select_db("sito");
 //inizializzo la variabile messaggio
 $messaggio="";?> <html> <!-- striscia in alto--> <head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>Inserisci </title> </head> <body> <!-- striscia in alto --> <table> <tr> <td> <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p> </td> </tr> </table> <div id="menu"> <ul> <?php //controllo che ci sia una sessione utente, altrimenti "sessione scaduta" if(isset($_SESSION['utente'])){ echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>"; echo"<li><a href='login.php?azione=logout'>logout</a></li>"; echo"<li><a href='cancellato.php'>cancella</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div><?php //seleziono gli annunci inseriti del db e li mostro $risultato = mysql_query("SELECT * FROM annunci_cerco"); //mostro tutti gli annunci inseritiwhile ($riga = mysql_fetch_array($risultato)) { 
 echo" <font color='black' face='times new roman' size='4px'>";
 echo"<br> ";
 echo "<br>";
 echo "<br>";
 echo"<br>";
 echo"<font color='black' face='times new roman' size='4px'>";
 ?>
 <table id="table1"><tr> 
 <td id="testo1"><?php echo"autore: "; ?></td>
 <td id="testo1"><?php echo"" . $_SESSION['utente'] . "";?></td>
 <td id="testo1"><?php echo"cancella";?></td>
 <td id="testo1"><?php echo"modifica";?></td></tr> <tr> <td id="testo1"><?php echo "titolo:" ?></td> <td id="testo"><?php echo $riga['title']; ?></td> </tr> <tr> <td id="testo1"> <?php echo "body"; ?></td> <td id="testo"> <?php echo $riga['body']; ?></td> </tr></table> <?php }//chiudo la connessione al db 
 mysql_close();
 ?>
 </body></html> 
 [/PHP]
 
- 
							
							
							
							
							Devi usare $riga['username'] visto che lo hai inserito nella tabella del database.