Mi sapete aiutare?
- Home
- krisincrediblegirl
- Post
krisincrediblegirl
@krisincrediblegirl
Post creati da krisincrediblegirl
-
RE: non inserisce i dati nel db
Adesso mi sono occorta di avere un altro problema..Nella pag di login, succede questo. Quando digito username o pwd non corrette, oppure non riempio tutti i campi, invece di vedere i messaggi di errore, mi rimanda alla pagina degli annunci, ma non vedo gli annunci e vedo sessione scaduta..come posso risolverlo???
o:o [PHP]<?php
//inizia la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro una connessione con il db e lo seleziono
$conn = mysql_connect($host,$user,$password) or die;
mysql_select_db($db) or die;
// inizializzo la variabile
$messaggio = "";
// se è stato premuto il pulsante invia
if (isset($_POST['invia'])) {
// controllo sulle stringhe
$username = ($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
// se i campi non sono vuoti
if (!empty($username) && !empty($password)) {
//preparo la query
$query = "SELECT * FROM utenti WHERE username='$username' AND password='$password' ";
// la eseguo
$controllodati = mysql_query($query);
// se trovo un risultato
if (mysql_num_rows($controllodati) == 1) {
// recupero i dati del record
$sessione = mysql_fetch_array($controllodati);
// metto in sessione la username
$_SESSION['utente'] = $sessione['username'];
} else {
// utente non trovato$messaggio="<font color='black' face='times new roman' size='4px'>User o password non validi"; header("refresh: 2; URL=home.php"); } } else { // campi vuoti $messaggio = "<font color='black' face='Times new roman' size='4px'>devi riempire tutti i campi";"Non hai inserito le credenziali"; header("refresh: 2; URL=login.php?azione=login"); } } ?> <html> <head> <!-- striscia in alto --> <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
<title>Login</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 // se non c'è una sessione utente mostro il link per il login o per la registrazione if (!isset($_SESSION['utente'])) { echo"<li><p><font color='red' Face='georgia' size='4px'>Ciao visitatore!</p></li>"; echo"<li><p><a href='login.php?azione=login'><p><font color='blue' Face='sans-serif' size='4px'>login</a></p></li>"; echo"<li><p><a href='registrati.php'>registrati</a></p></li>"; echo"<br>"; echo"<br>"; echo"<br>"; } else { // altrimenti il logout e il cancella dati, solo se c'è la sessione 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>"; } ?> </ul> </div> <?php echo "<p>" . $messaggio . "</p>"; //azione determina il login o il logout $p = isset($_GET['azione']) ? $_GET['azione'] : ""; if ($p == "login") { // se è già in corso la sessione utente l'utente non potrà loggarsi di nuovo if(isset($_SESSION['utente'])){ echo"<font color='black' face='times new roman' size='4px'>Verrai indirizzato alla pagina degli annunci"; header("refresh:2; URL=entra1.php"); }else{ ?> <form method="POST" action="login.php"> <label for="username">Username</label> <input type="text"name="username" id="username"/><br> <label for="password"> Password</label> <input type="password" name="password" id="password"/><br> <input type="submit" name="invia" value="entra"/><br>
<?PHP
}
?>
</form>
<?php
// con il logout
} else if ($p == "logout") {
//distruggo la sessione
session_destroy();echo"<br>"; echo"<br>"; echo"<br>"; echo"<font color='black' face='times new roman' size='4px'>Logout effettuato"; echo"<br>"; Echo"<font color='black' face='times new roman' size='4px'>Arrivederci,<b> " . $_SESSION['utente'] . "</b>"; // reindirizzo l'utente alla pag della home header("refresh: 2; URL=home.php"); }else{ echo"<br>"; echo"<br>"; echo"<font color='black' face='times new roman' size='4px'>Verrai reindirizzato alla pagina degli Annunci"; header("refresh:2, URL=entra1.php"); } // chiudo la connessione al db mysql_close(); ?> <script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,64,new Date().getTime(),"","","","",""]);</script>
</body>
</html>[/php]
-
RE: non inserisce i dati nel db
Quindi per cancellare un utente, verifico la sua esistenza se c'è lo cancello...correggo così?
[php]
$q="SELECT * FROM utenti WHERE username='$username'";
$ris=mysql_query($q) or die("fallita");
if(mysql_num_rows()== 0){
echo"user non presente";}else{
$c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
if ($_POST["canc"]=="si") { // se sceglie si//eseguo la query per la cancellazione dell'account $query="DELETE FROM utenti WHERE username='$username'"; $res=mysql_query($query) or die(" query cancellazione account fallita"); // in caso di problemi con la query $messaggio="dati cancellati"; header("refresh:; URL=home.php");
}else{ //altrimenti se sceglgo no i dati non vengono cancellati
if($_POST["canc"]=="no")$messaggio="i dati non sono stati cancellati";
$username=$_SESSION['utente'];}
echo $messaggio;
}
}
[/php] -
RE: non inserisce i dati nel db
@Thedarkita said:
Dovrebbe diventare una cosa di questo tipo:
[php]
or die("query annunci fallita: ".mysql_error())
[/php][PHP]$q="SELECT * FROM utenti WHERE username='$username'";
$ris=mysql_query($q) or die("fallita");
if(mysql_affected_rows()== 0){
echo"non presente";}else{
$c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
if ($_POST["canc"]=="si") { // se sceglie si//eseguo la query per la cancellazione dell'account $query="DELETE FROM utenti WHERE username='$username'"; $res=mysql_query($query) or die(" query cancellazione account fallita"); // in caso di problemi con la query $messaggio="dati cancellati"; header("refresh:; URL=home.php");
}else{ //altrimenti se sceglgo no i dati non vengono cancellati
if($_POST["canc"]=="no")$messaggio="i dati non sono stati cancellati";
$username=$_SESSION['utente'];}
echo $messaggio;
}
}[/PHP]Mi dici se può andare il controllo per verificare prima della cancellazione se l'utente è presente?
-
RE: non inserisce i dati nel db
@Thedarkita said:
Si va bene cosi, ma la funzione mysql_error non ha come primo parametro una stringa.
Quindi dovrei togliere il mysql_error?
-
RE: non inserisce i dati nel db
[PHP]
if($title!="" && $body !=""){
$risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
if(mysql_num_rows($risultato) == 0)
die('ID non presente');$modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));
echo"modifica ok";
header("refresh:2;URL=annunci_offro.php");
}else{echo"impossibile modificare"; header("refresh:2;URL=annunci_offro.php"); }
}
mysql_close();?>
[/PHP]
Mi diresti se va bene così?
-
RE: non inserisce i dati nel db
Tipo una cosa del genere?
[PHP]if($title!="" && $body !=""){
$risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
mysql_num_rows($risultato);$modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));
echo"modifica ok";
header("refresh:2;URL=annunci_offro.php");
}else{echo"impossibile modificare"; header("refresh:2;URL=annunci_offro.php"); }
}
mysql_close();?>
[/PHP]dove prima della query update ho messo select con il num_rows
-
RE: non inserisce i dati nel db
volevo chiedere ancora una volta..vorrei verificare prima di una modifica e di una cancellazione l'esistenza del messaggio..come posso fare?
-
RE: non inserisce i dati nel db
Adesso funziona tutto!!!mi è bastato cambiare questo della pag contenente i dati inviati dal form
$id_ann=$_POST['id'];
al postodi $id_ann=$_GET['id'];graazie dell'aiuto!!!
-
RE: non inserisce i dati nel db
ecco l'errore che mi da..
You 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 1
la seconda olta che ho provato mi dice sempre fallitaQuery was empty
-
RE: non inserisce i dati nel db
@Thedarkita said:
La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.
Mi da questo messaggio fallitaQuery was empty
-
RE: non inserisce i dati nel db
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?
-
RE: non inserisce i dati nel db
@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] -
RE: non inserisce i dati nel db
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
-
RE: non inserisce i dati nel db
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] -
RE: non inserisce i dati nel db
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] -
RE: non inserisce i dati nel db
@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?
-
RE: non inserisce i dati nel db
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]
-
RE: non inserisce i dati nel db
@Thedarkita said:
Devi usare $riga['username'] visto che lo hai inserito nella tabella del database.
grazie funziona perfettamente!!