Problema con gestore esterno Mysql

  • Creatore Discussione Creatore Discussione grot
  • Data di inizio Data di inizio

grot

Nuovo Utente
11 Ago 2007
8
0
0
sempre il solito gestore! SGRUNT!!!:mad:



il mio problema è quando voglio modificare i parametri di una riga di database.



parto da un menù a tre opzioni:



inserisci
elimina
modifica
cliccando su 'modifica' mi dà l'elenco di righe modificabili,

cliccando su una di esse spunta il form contenente i vecchi parametri che voglio modificare, li modifico e premo ' modifica' e la risposta è Evento modificato!

Ma sul database non si è modificato un accidenti di nulla!!





ecco lo script:



if($cmd == 3.2){
$d = $_GET['d'];
if(isset($d)){
$step = $_POST['step'];
if($step == 2){
$nome_prova_n = $_POST['nome_prova_n'];
$info_prova_n = $_POST['info_prova_n'];
$question2 = $_POST['question2'];

if($question2 == "si"){
if (!isset($HTTP_POST_FILES['img_prova_n'])) echo "Upload dell'immagine non riuscito.<br /><a href=gestione.php>Main</a><br />";
if (is_uploaded_file($HTTP_POST_FILES['img_prova_n']['tmp_name'])) {
if (file_exists('immagini/'.$HTTP_POST_FILES['img_prova_n']['name'])) {
echo "Esiste gia' un file con questo nome<br /><a href=gestione.php>Main</a><br />";
exit;
}
$err = copy($HTTP_POST_FILES['img_prova_n']['tmp_name'], 'immagini/'.$HTTP_POST_FILES['img_prova_n']['name']);
if (!$err) {
echo "Upload dell'immagine non riuscito.<br /><a href=gestioneprova.php>Main</a><br />";
exit;
}
}
}
if($question2 == "si") {
$imgname_n = $HTTP_POST_FILES['img_prova_n']['name'];
$q_m = "INSERT into provette VALUES ('NULL', '$nome_prova', '$info_prova', 'immagini/$imgname_n')";
}

if($question2 == "no") {
$q_m = "UPDATE provette SET nome_prova = '$nome_prova_n', info_prova = '$info_prova_n' WHERE id_prova = '$d'";
}

if(mysql_query($q_m)){
echo "Evento modificato!<br /><a href=gestioneprova.php>Main</a><br />";
}else{
echo "Errore!!<br /><a href=gestioneprova.php>Main</a><br />";
echo mysql_error();
}
} else {
$query = mysql_query("SELECT * FROM provette WHERE id_prova='$d'");
while ($row = mysql_fetch_array($query)) {
$nome_prova_o = $row["nome_prova"];
$info_prova_o = $row["info_prova"];
}
?>
<form action="gestioneprova.php?cmd=3.2&d=<?php echo $id_prova; ?>" method="post" enctype="multipart/form-data">

<b>Titolo:</b><br />
<input name="nome_prova_n" type="text" value="<?php echo $nome_prova_o; ?>" size="100">
<br />
<b>Location:</b><br />
<input name="info_prova_n" type="text" value="<?php echo $info_prova_o; ?>" size="100">
<br />
<b>Modificare immagine?:</b><br />
<select name="question2">
<option value="no">no</option>
<option value="si">si</option>
</select>
<br />
<b>immagine:</b><br />
<input name="img_prova" type="file">
<br /><br />
<input type="hidden" name="step" value="2">
<input type="submit" value="Modifica"><br />
</form>
<?php
}
}else{
$query = mysql_query("SELECT * FROM provette ORDER BY id_prova DESC");
while ($row = mysql_fetch_array($query)) {
$id_prova = $row["id_prova"];
$nome_prova = $row["nome_prova"];
$info_prova = $row["info_prova"];
echo "[<a href=\"?cmd=3.2&d=$id_prova\"><b>Modifica</b></a>] <b>$nome_prova - $info_prova</b><br />";

}
}
}


if($cmd == "logout"){
?>
 
non usare $HTTP_POST_FILES ma $_FILES.
Stampati tutte le variabili passate da $_POST e vedi se vengono effettivamente mandate alla query.
Menti anche un
PHP:
or die (mysql_error());
davanti a mysql_query($q_m)
 
mm dunque il problema penso sia in

$q_m = "UPDATE provette SET nome_prova = '$nome_prova_n', info_prova = '$info_prova_n' WHERE id_prova = '$d'";


piu esattamente in

WHERE id_prova = '$d'";

sono su dominio di tophost e so che da qualche problemino

http://www.tophost.it/aiuto/cat2/10/88/
 
il problema non stà nella sintassi della query che è corretta, ma probabilmente nella clausola WHERE come dici ti, prova a stampare la variabile $d e vedi se passa realmente come valore alla query o è vuota.
 
ho stampato:

if(mysql_query($q_m)){
echo "Evento modificato! $d <br /><a href=gestioneprova.php>Main</a><br />";

ed effettivamente è vuoto!
 
Ultima modifica:
Ma nei campi del form i valori, ad es:
PHP:
value="<?php echo $nome_prova_o; ?>"
vengono stampati?

Controlla l'HTML della pagina.
 

Discussioni simili