- Home
- Categorie
- Coding e Sistemistica
- Coding
- non inserisce i dati nel db
-
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!!
-
Grazie!!!
Volevo chiedere un'altra cosa..perchè ho un problema...
Quando cerco di cancellare i messaggi inseriti, ho fatto in modo che se non è quell'utente che l'ha inserito legga il messaggio "non sei l'autore del messaggio", fin li funziona, ma quando l'utente che inserisce il messggio cerca di cancellarlo leggo "non sei l'autore del messaggio" però cancella effettivamente il messsaggio dal db, ma perchè non vedo il messaggio "dati cancellati"?
ho fatto un po di confusione...
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect("localhost","root","") or die;
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>cancella annunci </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
if (isset($_SESSION['utente'])){
?>
<form method="POST" action="cancellato1.php">
<p><font face="Times new roman" color="black" size="4px">vuoi cancellare il messaggio?</p>Si<input type="radio" name="canc" value="si"/>
No<input type="radio" name="canc" value="no"/>
<br>
<br>
<input type="submit" value="invia" name="invia"/></form>
<?php
}else{$messaggio="sessione scaduta";
}mysql_close();
?>
</body>
</html>[/PHP]questa è la pag che mi da problemi..
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect("localhost","root","") or die;
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>cancella annunci </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
// recupero i dati della sessione utente in corso
$autore=$_SESSION['utente'];
$c="cancella";
//l'azione cancella prevede l'opzione si/no
$c = isset($_GET['cancella']) ? $_GET['cancella'] : "";if ($autore=$_SESSION['utente']){
if ($_POST["canc"]=="si") { // se sceglie si //eseguo la query per la cancellazione dell'account $query="DELETE FROM annunci_cerco WHERE autore='$autore'"; $res=mysql_query($query) or die("fallita"); // in caso di problemi con la query $messaggio="dati cancellati"; }else{ $messaggio="non sei l'autore del messaggio";
}
//altrimenti se sceglgo no i dati non vengono cancellati
if($_POST["canc"]=="no"){
echo"i dati non sono stati cancellati";}else{ echo"non sei l'autore del messaggio"; }
}
//chiudo la connessione con il db
mysql_close();?>
</body>
</html> [/PHP]
-
Nell'if hai messo un assegnazione, non un confronto (hai dimenticato un uguale).
In ogni caso se sopra fai:
$autore=$_SESSION['utente'];
E sotto metti:
if($autore==$_SESSION['utente'])
Mi sembra scontato che la condizione vada sempre in true. Devi recuperare il messaggio dal database per sapere chi l'ha scritto.
-
@Thedarkita said:
Mi sembra scontato che la condizione vada sempre in true. Devi recuperare il messaggio dal database per sapere chi l'ha scritto.
mi dici cosa intendi di preciso?
perchè adesso ho provato a mettere due == come mi hai detto, solo che quando cerco di cancellare il messaggio scritto non da quell'utente, vedo la scritta che mi dice che non sono l'autore, ma cancella l'annuncio dell'utente loggato...come fare?
-
come faccio a non far eliminare e aggiornare tutti i messaggi che scrive l'utente?perchè io vorrei che potesse agire solo su quello interessato...il codice:
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect("localhost","root","") or die;
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>modifica/cancella annunci </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 account</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 WHERE autore='".$_SESSION['utente']."'"); //mostro tutti gli annunci inseriti
while ($riga = mysql_fetch_array($risultato)) {
echo "<br>";
echo"<br>";?>
<table id="table1">
<tr>
<td><?php echo"autore"; ?></td>
<td><?php echo "titolo" ?></td>
<td> <?php echo "testo"; ?></td></tr>
<tr> <td id="testo"><?php echo $riga['autore'];?></td> <td id="testo"><?php echo $riga['title']; ?></td> <td id="testo"> <?php echo $riga['body']; ?></td> </tr> <tr> <td id="testo"><?php echo"<a href='inserisci1.php'>modifica</a>";?></td> <td id="testo"><?php echo"<a href='cancella1.php'>cancella</a>"?></td> </tr>
</table>
<?php }
//chiudo la connessione al db
mysql_close();
?>
</body></html>
[/PHP][PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect("localhost","root","") or die;
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>cancella annunci </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 account</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div>
<?php
if (isset($_SESSION['utente'])){
?>
<form method="POST" action="cancellato1.php">
<p><font face="Times new roman" color="black" size="4px">vuoi cancellare il messaggio?</p>Si<input type="radio" name="canc" value="si"/>
No<input type="radio" name="canc" value="no"/>
<br>
<br>
<input type="submit" value="invia" name="invia"/></form>
<?php
}else{$messaggio="sessione scaduta";
}mysql_close();
?>
</body>
</html>[/PHP][PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect("localhost","root","") or die;
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>cancella annunci </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 account</a></li>"; echo"<br>"; echo"<br>"; }else{ $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta"; } ?> </ul> </div>
<?php
// recupero i dati della sessione utente in corso
$autore=$_SESSION['utente'];$c="cancella";
//l'azione cancella prevede l'opzione si/no
$c = isset($_GET['cancella']) ? $_GET['cancella'] : "";if ($_POST["canc"]=="si") { // se sceglie si //eseguo la query per la cancellazione dell'account $cancellannunci="DELETE FROM annunci_cerco WHERE autore='$autore'"; $res=mysql_query($cancellannunci) or die("fallita"); // in caso di problemi con la query echo"<font color='black' face='times new roman' size='4px'>dati cancellati"; header("refresh:2,URL=annunci.php");
}
//altrimenti se sceglgo no i dati non vengono cancellati
if($_POST["canc"]=="no"){
echo"<font color='black' face='times new roman' size='4px'>i dati non sono stati cancellati";
header("refresh:2,URL=annunci.php");}
//chiudo la connessione con il db
mysql_close();?>
</body>
</html>
[/PHP]
-
Adesso il problema ce l'ho solo nella pagina di aggiornamento dei messaggi...
Ho creato una pagina dove l'utente trova i link per cancellare e modificare, che rimandeerà ad una form per scrivere il messaggio modificato e una che dovrebbe modificare e inserire nel db la modifica, ma leggo solo la modifica di fallimento...mi aiutate???
[PHP]
<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect($host,$user,$password) or die;
mysql_select_db($db);//inizializzo la variabile messaggio
$messaggio="";?>
<html> <!-- striscia in alto-->
<head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>modifica/cancella annunci </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 account</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 WHERE autore='".$_SESSION['utente']."'"); //mostro tutti gli annunci inseriti
while ($riga = mysql_fetch_array($risultato)) {
echo "<br>";
echo"<br>";?>
<table id="table1">
<tr>
<td><?php echo"autore"; ?></td>
<td><?php echo "titolo" ?></td>
<td> <?php echo "testo"; ?></td></tr>
<tr> <td id="testo"><?php echo $riga['autore'];?></td> <td id="testo"><?php echo $riga['title']; ?></td> <td id="testo"> <?php echo $riga['body']; ?></td> </tr>
<tr>
<?php $id= $riga['id']?>
<td id="testo"><?php echo"<a href='modifica_annunci_1.php?annuncio=".$riga['id']."'>modifica</a>"?></td>
<td id="testo"><?php echo"<a href='cancellato1.php?annuncio=".$riga['id']."'>cancella</a>"?></td>
</tr>
</table><?php }
//chiudo la connessione al db
mysql_close();
?>
</body></html> [/PHP]
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect($host,$user,$password) or die;
mysql_select_db($db);//inizializzo la variabile messaggio
$messaggio="";?>
<html> <!-- striscia in alto-->
<head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>modifica annunci </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
$_GET['annuncio'];
$id_ann=$_GET['annuncio'];mysql_query("SELECT * FROM annunci_cerco WHERE id=".$_GET['annuncio']);
?>
<form method="POST" action="modifica_annunci_2.php">
<p>modifica 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
mysql_close();?>
</body>
</html>[/PHP]
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect($host,$user,$password) or die;
mysql_select_db($db);//inizializzo la variabile messaggio
$messaggio="";?>
<html> <!-- striscia in alto-->
<head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>modifica annunci </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
$_GET['annuncio'];
$id_ann=$_GET['annuncio'];
$title=$_POST['title'];$body=$_POST['body'];
$modificannunci="UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann";
$res=mysql_query($modificannunci) or die("fallita");mysql_close();
?>
</body>
</html>
[/PHP]
-
Invece di:
[php]
mysql_query($modificannunci) or die("fallita");
[/php]
Metti:
[php]
mysql_query($modificannunci) or die("fallita".mysql_error());
[/php]
Cosi da visualizzare l'errore.
-
Notice: Undefined index: annuncio in C:\xampp\htdocs\prova\modifica_annunci_2.php on line 60
Notice: Undefined index: annuncio in C:\xampp\htdocs\prova\modifica_annunci_2.php on line 61
fallitaYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1Mi dice questo
-
Non arrivano quelle variabili POST che tu utilizzi, ci sarà un altro nome impostato nel form.
-
@Thedarkita said:
Non arrivano quelle variabili POST che tu utilizzi, ci sarà un altro nome impostato nel form.
Non riesco a modificare i dati...anche con le modifiche...ecco il codice modificato...
[PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect($host,$user,$password) or die;
mysql_select_db($db);//inizializzo la variabile messaggio
$messaggio="";?>
<html> <!-- striscia in alto-->
<head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>modifica annunci </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
$id_ann=$_GET['annuncio'];
$ris=mysql_query("SELECT * FROM annunci_cerco WHERE id=".$_GET['annuncio']);?>
<form method="POST" action="modifica_annunci_2.php"><?php echo $id_ann ?>
<p>modifica 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
mysql_close();?>
</body>
</html>
[/PHP][PHP]<?php
//inizio la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro la connessione al db e lo seleziono
$conn=mysql_connect($host,$user,$password) or die;
mysql_select_db($db);//inizializzo la variabile messaggio
$messaggio="";?>
<html> <!-- striscia in alto-->
<head> <!-- css esterno --> <link rel="stylesheet" type="text/css" href="stile.css"> <title>modifica annunci </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
$id_ann=$_GET['id'];
$title=$_POST['title'];$body=$_POST['body'];
if($title=="" ||$body==""){
echo "<font color='black' face='times new roman' size='4px'>Non hai riempito i campi";$q="UPDATE annunci_cerco SET title='$title', body='$body' WHERE id=$id_ann";
mysql_query($q);
echo"modifica ok";
}else{echo"impossibile modificare";} mysql_close();
?>
</body>
</html>
[/PHP]
-
Ma che senso ha fare un controllo che i campi siano vuoti e fare l'update in quel caso? Non dovresti fare il contrario?
-
Hai ragione, ma ero solo per leggere se la modifica era andata a buon fine...al posto di quello ho inserito...
[PHP]$m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann");
if($m){echo"modifica ok";
}else{echo"impossibile modificare";}
[/PHP]
Però le modifiche non vanno a buon fine..perchè leggo impossibile modificare...come è possibile?
-
La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.
-
@Thedarkita said:
La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.
Mi da questo messaggio fallitaQuery was empty