View Full Version : [PHP] Piccolo aiuto su php/mysql
r.alagna
21-04-2008, 18:15
Salve a tutti, da qualche giorno sto "giocando" con php e finalmente sono passato all'interazione fra php e mysql. Ho preparato un form semplice con 2 campi da inserire in un database semplicissimo e tutto funziona, ma adesso con un form più complesso e formattato, non funziona più nulla.
Postando il codice, qualcuno potrebbe darmi informazioni sull'errore ?
<?php
$link = mysql_connect("localhost","root","rosario");
mysql_select_db("mercatino",$link);
$autore=$HTTP_POST_VARS[autore];
$oggetto=$HTTP_POST_VARS[oggetto];
$descrizione=$HTTP_POST_VARS[descrizione];
$prezzo=$HTTP_POST_VARS[prezzo];
$telefono=$HTTP_POST_VARS[telefono];
$email=$HTTP_POST_VARS[email];
$query=mysql_query("INSERT INTO datamarket (autore, oggetto, descrizione, telefono, email) VALUES ('$autore','$oggetto','$descrizione','$prezzo','$telefono','$email')");
echo "inserimento riuscito, grazie";
?>
Grazie
r.alagna
21-04-2008, 18:17
e questo è l'html...
<title>Prototipo upload file</title>
<style type="text/css">
<!--
body {
background-color: #FFFFFF;
}
-->
</style><form id="form1" name="form1" method="post" action="uphoto.php">
<table width="500" height="287" border="1" bordercolor="#CCCCCC">
<tr>
<td width="100"></td>
<td width="336"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>autore</label></td>
<td bgcolor="#999999"><input name="autore" type="text" id="autore" size="50" maxlength="50"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>Password</label></td>
<td bgcolor="#999999">campo password da riempire</td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>oggetto
</label></td>
<td bgcolor="#999999"><input name="oggetto" type="text" id="oggetto" size="50" maxlength="50"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>descrizione</label></td>
<td bgcolor="#999999"><textarea name="descrizione" cols="50" rows="2" id="descrizione"></textarea></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>Prezzo</label></td>
<td bgcolor="#999999"><input type="text" name="prezzo" id="prezzo"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>Email</label></td>
<td bgcolor="#999999"><input type="text" name="email" id="email"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999"><label>Telefono</label></td>
<td bgcolor="#999999"><input type="text" name="telefono" id="telefono"></td>
</tr>
<tr>
<td width="100" bgcolor="#999999">Seleziona la foto:</td>
<td bgcolor="#999999"><input name="upfile" type="file" /></td>
</tr>
<tr>
<td colspan="2" bgcolor="#999999">
<div align="left">
<input type="submit" name="button" id="button" value="Invia" />
</div></td>
</tr>
</table>
</form>
premettendo che mi ero studiato il php e avevo fatto un paio di cosette qualche tempo fa, posso tranquillamente dire che me so scordato tutto :D
però nella query che fai hai:
$query=mysql_query("INSERT INTO datamarket (autore, oggetto, descrizione, telefono, email) VALUES ('$autore','$oggetto','$descrizione','$prezzo','$telefono','$email')");
quindi prevedi di inserire 5 valori mentre ne metti dentro 6 (ti sei dimenticato di inserire prezzo quando fai l'INSERT INTO!).
r.alagna
21-04-2008, 18:30
premettendo che mi ero studiato il php e avevo fatto un paio di cosette qualche tempo fa, posso tranquillamente dire che me so scordato tutto :D
però nella query che fai hai:
$query=mysql_query("INSERT INTO datamarket (autore, oggetto, descrizione, telefono, email) VALUES ('$autore','$oggetto','$descrizione','$prezzo','$telefono','$email')");
quindi prevedi di inserire 5 valori mentre ne metti dentro 6 (ti sei dimenticato di inserire prezzo quando fai l'INSERT INTO!).
e anche questo è vero, ma ho appena provato e non va... se clicco su invia mi restituisce pagina bianca, quindi c'è sicuramente qualche problema di sintassi che magari non vedo (o non conosco) :(:(
$autore=$HTTP_POST_VARS["autore"];
$oggetto=$HTTP_POST_VARS["oggetto"];
$descrizione=$HTTP_POST_VARS["descrizione"];
$prezzo=$HTTP_POST_VARS["prezzo"];
$telefono=$HTTP_POST_VARS["telefono"];
$email=$HTTP_POST_VARS["email"];
In ogni caso $HTTP_POST_VARS è deprecato da almeno 4-5 anni...devi usare %_POST al suo posto.
r.alagna
21-04-2008, 22:51
Grazie mille cionci, provo subito
r.alagna
22-04-2008, 00:20
Non va neanche così, ho reinstallato pure apache pensando fosse un problema dell'install ma non è così :(
scusa se non ti ho risposto ma ero uscito...cmq anche io ho sempre usato $_POST in effetti...e usavo un altro modo per connettermi a db mysql...ricontrollo e magari ti faccio sapere :)
john_revelator
22-04-2008, 00:44
Prova ad aggiungere la segnalazione di errori alla tua query.
$query=mysql_query("INSERT INTO datamarket (autore, oggetto, descrizione, prezzo, telefono, email) VALUES ('$autore','$oggetto','$descrizione','$prezzo','$telefono','$email')") or die(mysql_error());
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.