- Home
- Categorie
- Coding e Sistemistica
- Coding
- non inserisce i dati nel db
-
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 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]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 inseriti
while ($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.
-
@Thedarkita said:
Devi usare $riga['username'] visto che lo hai inserito nella tabella del database.
grazie funziona perfettamente!!