Ciao, io ho un problema semplice da risolvere. in poche parole con la querystring GET ed il campo id il codice funziona ma se uso la where con il campo username non mi stampa il nome utente nella form . Vi posto un pò di codice.
Non stampa nemmeno info1. e username come mai? sto seguendo il corso di questo sito.
ecco il codice:
<?php
include("inc.php");
if($_POST && isset($_GET['username']))
{
$username = $_POST['username'];
$info1 = $_POST['info1'];
$username = intval($_GET['username']);
// verifico la presenza dei campi obbligatori
if(!$nome)
{
$messaggio = urlencode("Non hai inserito il nome");
header("location: $_SERVER[PHP_SELF]?username=$username&msg=$messaggio");
exit;
}
// preparo la query
$query = "UPDATE `utenti_storia` SET `username` = '$username',
`info1` = '$info1',
`data` = Now() WHERE `utenti_storia`.`username`='$username'";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// chiudo la connessione a MySQL
mysql_close();
$messaggio = urlencode('Aggiornamento effettuato con successo');
echo "".$messaggio."";
//header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
}
else
{ // mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
$username = intval($_GET['username']);
// preparo la query
$query = "SELECT username,info1,data FROM utenti_storia WHERE username = '$username'";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// controllo che la SELECT abbia restituito un record
// l'id passato via GET potrebbe essere stato manipolato
if(mysql_num_rows($result) != $username) {
die("l'username passato via GET è errato");
}
list($username,$info1,$data) = mysql_fetch_row($result);
?>
<form name="form_storia" method="post" action="?username=<? /* QUI NON STAMPA */ echo $username?>">
<p>
<label>Storia<br />
<textarea name="info1" cols="40" rows="5"><?echo $info1?></textarea>
</label>
</p>
<p>
<input name="invia" type="submit" value="Invia" />
</p>
</form>
<?
}
?>
graize mille.