Squadra
Manager
Livello
Bilancio
Come posso fare affinchè ogni iscritto che si collega visualizzi i propri dati?![]()
Squadra
Manager
Livello
Bilancio
Come posso fare affinchè ogni iscritto che si collega visualizzi i propri dati?![]()
fai una query che estrae i dati dell'utente....no?
Con l'aiuto di un tutorial ho creato questa pagina:
sessione.php:
Potete dirmi quali errori ho fatto e come posso inserire questa pagina nella pagina principale?Vi ringrazio anticipatamente!Codice PHP:
sessione.php:
Codice PHP:
<?php
session_start();
$dbhost="localhost";
$dbuser="beamanager";
$dbpass="";
$conn=mysql_connect($dbhost,$dbuser,$dbpass);
$dbname="my_beamanager";
mysql_select_db($dbname,$conn) or die("Erroe nella connessione");
if($_POST['id']) {
$id=$_POST['id'];
}else if(isset($_SESSION['id'])) {
$id=$_SESSION['id'];
}else{
exit();
}
$sql=mysql_query("SELECT * FROM squadre WHERE id='$id'");
while($row="mysql_fetch_array($sql)){
$team=$row['team'];
$manager=$row['manager'];
$punti=$row['punti'];
$livello=$row['livello'];
$campionato=$row['campionato'];
$cash=$row['cash'];
?>![]()
Anzitutto devi fare il login mettendo il campo 'id' dell'utente in sessione (lo hai fatto?)Originariamente inviato da leon-kennedy
Come posso fare affinchè ogni iscritto che si collega visualizzi i propri dati?![]()
Il tuo script infatti per visualizzare i dati dell'utente fa una doppia verifica:
- la prima sbagliata fatta con $_POST['id'] che determina sql injection come una bazzeccola...
- la seconda correntta (anche se assolutamente insufficiente) con $_SESSION['id']
Poi ci sono errori di sintassi: virgolette di troppo nel while che non viene chiuso con }
Ho modificato così:
Come posso inserire questo codice nella tabella che è sulla home della squadra?Codice PHP:
<?php
session_start();
$id=$_SESSION['id_utente'];
$dbhost="localhost";
$dbuser="beamanager";
$dbpass="";
$conn=mysql_connect($dbhost,$dbuser,$dbpass);
$dbname="my_beamanager";
mysql_select_db($dbname,$conn) or die("Erroe nella connessione");
//tengo separata la query stringa dalla query, così e più facile individuare errori
$query="SELECT * FROM squadre WHERE id_utente='$id'";
$result = mysql_query("SELECT * FROM squadre");
$row = mysql_fetch_array($result);
echo $row['team'] . " " . $row['manager'];
echo "
";
?>
Le domande sono:
1) la sessione è stata avviata al login dell'utente?
2) è stata valorizzata $_SESSION['id_utente']; con l'id dell'utente?
Se la risposta è SI ad entrambe le domande ...
modifica questo la query e l'interrogazione così:
$query="SELECT * FROM squadre WHERE id_utente='".$id."' LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
e poi và bene...
Scusami ma che senso ha questa cosa?
in $query imposti una query in relazione all'utente loggato (forse)Codice PHP:
$query="SELECT * FROM squadre WHERE id_utente='$id'";
$result = mysql_query("SELECT * FROM squadre");
$row = mysql_fetch_array($result);
echo $row['team'] . " " . $row['manager'];
echo "
";
Poi però esegui una query senza nessun riferimento all'utente loggato :|
Grazie la risposta era si a tutte e due le domande quindi faccio come mi hai detto!Originariamente inviato da oly1982
Le domande sono:
1) la sessione è stata avviata al login dell'utente?
2) è stata valorizzata $_SESSION['id_utente']; con l'id dell'utente?
Se la risposta è SI ad entrambe le domande ...
modifica questo la query e l'interrogazione così:
$query="SELECT * FROM squadre WHERE id_utente='".$id."' LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
e poi và bene...![]()