- Home
- Categorie
- Coding e Sistemistica
- PHP
- Non visualizza dati nel database
-
Non visualizza dati nel database
Salve...
ho dei problemi con degli script...dopo aver effettuato alcune modifiche non riesco piu' a venirne fuori...posto i filequesto sarebbe profilo.php che mi dovrebbe visualizzare i dati del profilo che l utente inserisce all atto d ell iscrizione
[PHP]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<div align="center">
<font face="Franklin Gothic Medium" size="7" color="#008080">Il mio Profilo....</font><table width="100%" border="2" cellspacing="0" height="35" bordercolor="#FF9999">
<tr>
<td align="left" valign="top" width="15%">
<font face="Comic Sans MS" color="#0099FF"><b>Mio nome</b></font></td>
<td align="left" valign="top" width="19%">
<div align="center"><b><font size="4" face="Comic Sans MS" color="#0099FF">Sesso</font></b></div>
</td>
<td align="center" width="34%" valign="top">
<div align="center"><font face="Comic Sans MS" color="#0099FF"><b>Data iscrizione</b></font></div>
<div align="center"> </div>
</td>
<td width="15%" align="left" valign="top">
<div align="center"><font face="Comic Sans MS" color="#0099FF"><b>Email</b></font></div>
</td>
<td width="15%" align="left" valign="top">
<div align="center"><font face="Comic Sans MS" color="#0099FF"><b>Mia descrizione</b></font></div>
</td>
</div>
<td width="15%" align="left" valign="top">
<div align="center"><font face="Comic Sans MS" color="#0099FF"><b>Foto inviata</b></font></div>
</td>
</div>
<?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono i campi da visualizzare per singolo utente
$strsql="SELECT nome,sesso,data,utenteemail,descrizione,foto FROM iscritti WHERE nome='".$_GET['nickname']."' ORDER BY data";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nickname'];
$str_sesso = $riga['sesso'];
$str_data = $riga['data'];
$str_utenteemail = $riga['utenteemail'];
$str_descrizione = $riga['descrizione'];
$str_foto = $riga['foto'];echo "<tr><td><font face="Comic Sans MS">$str_nome</font></td><td>$str_sesso</td><td>$str_data</td><td>$str_utenteemail</td><td>$str_descrizione</td><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="75" height="75"></td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/PHP]
Purtroppoa video mi compaie solo la parte in html...i dati nn vengono visualizzati...ho rivisto piu volte questa pagina ma nn riesco a trovare l errore..:?
-
Intanto dovresti vedere se la query, da risultati oppure non torna niente dalla query.
-
@Thedarkita said:
Intanto dovresti vedere se la query, da risultati oppure non torna niente dalla query.
a video non mi da nessun risultato....:?
-
sostituisci:
[php]$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error()); [/php]
con
[php]
$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo mysql_num_rows($rs);[/php]e vedi che ti mostra un numero. se è 0 il problema è la query.
Che comunque sono convinto il problema sia proprio quello...
-
Esatto...mi restituisce 0:?
-
Allora il where della query è sbagliato, oppure l'utente che cerchi non esiste...
-
L utente esiste perche io comunque su quella pagina arrivo facendo un login...che poi mi porta su un pannello do controllo dove cliccando sul link
"leggi il tuo profilo" dovrebbe far apparire il profilo appunto dell utente loggato...ma nulla..
e sbagliato il GET?
queste sono le pagine del loginlogin.htm
[PHP]<body>
<form action="login2.php" method="post">
<p align="center">Inserisci il tuo
nickname
<input name="nickname" style="font-weight: 700">
</p>
<p align="center">Inserisci la tua
password
<input type="password" name="password" style="font-weight: 700">
</p>
<p align="center">
<input type="submit" name="submit" value="Entra"></p>
</form>
</body>
[/PHP]e login2.php
[PHP]
<?
session_start(); //avvio l'utilizzo delle sessioni$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
$selezione="SELECT nickname,password,sesso FROM iscritti WHERE nickname='".$_POST['nickname']."' AND password='". $_POST['password']."'";
$eseguisel=mysql_query($selezione);
if (mysql_num_rows($eseguisel) ==1) {
echo "Login effetuato con successo..Attendi";
//ciclo while che mi richiama l'array dei dati selezionati dal database
while($ROW = mysql_fetch_array($eseguisel))
{
//qui vanno settati un po' di SESSIONI
$_SESSION['logged']=1;//setto che l'utente è loggato
$_SESSION['nickname']=$ROW[nome];//inserisco una nuova chiave di sessione con il nome utente
$_SESSION['sesso']=$ROW[sesso];//inserisco una nuova chiave di sessione con il sesso dell'utente
}
//ora proseguo con l'header
header("Location: pannellodicontrollo.php");
} else {
echo "Dati non presenti nei nostri database..Attendi";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: iscrizionesito.htm");
}
?>
[/PHP]
-
:?:?
credo che il problema sia qui'[PHP]
WHERE nickname='".$_POST['nickname']."'
[/PHP]
non mi recupera il valore....e di conseguenza non mi fa apparire nulla..praticamente dovrebbe mostrare i risultati in base al nick che viene recuperato inq uesta stringa....ma li' nn recupera nulla...
ho provato con .$_SESSION['nickname']
ma funzionava male...
-
$_SESSION['nickname']
è quello giusto... non puoi metterli a caso...
-
@Thedarkita said:
$_SESSION['nickname']
è quello giusto... non puoi metterli a caso...
[PHP]
$strsql="SELECT nickname,sesso,data,utenteemail,descrizione,foto FROM iscritti WHERE nickname='".$_SESSION['nickname']."' ORDER BY data";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo mysql_num_rows($rs);
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nickname'];
$str_sesso = $riga['sesso'];
$str_data = $riga['data'];
$str_utenteemail = $riga['utenteemail'];
$str_descrizione = $riga['descrizione'];
$str_foto = $riga['foto'];echo "<tr><td><font face="Comic Sans MS">$str_nome</font></td><td>$str_sesso</td><td>$str_data</td><td>$str_utenteemail</td><td>$str_descrizione</td><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="75" height="75"></td>";
[/PHP]
nulla...esce sempre e solo il contenuto html:x
-
fai un echo di $_SESSION['nickname'] e vedi se il valore viene passatto correttamente
-
echo "<tr><td><font face="Comic Sans MS">$str_nome</font></td><td>$str_sesso</td><td>$str_data</td><td>$str_utenteemail</td><td>$str_descrizione</td><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="75" height="75"></td>";
[/PHP]
nulla...esce sempre e solo il contenuto html:x[/QUOTE]ora funziona...mis a che ho dei problemi con la cache del browser...file temporanei..:x
-
ti conveine cambiare browser se no esci pazzo
-
@Thedarkita said:
ti conveine cambiare browser se no esci pazzoe infatti cambiando browser ho notato la cosa...:x
che le modifiche su un browser erano presentie sull altro no...