- Home
- Categorie
- Coding e Sistemistica
- Coding
- errore sessione
-
io ce l'ho così:
[PHP]
//Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
$query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
$var=mysql_num_rows($query);
//se esiste l'account registra la sessione
if($var==1)
{
//metto l'username nella variabile di sessione "username"
$_SESSION['username'] = $_POST['usrname'];
//Faccio il redirect nella pagine enter.php
echo "<script>
window.location = "index.php"
</script>";
}
[/PHP]
-
[php]
//Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
$query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
$var=mysql_num_rows($query);
//se esiste l'account registra la sessione
if($var==1)
{
session_start();
session_unset();
session_destroy();
session_start();
//metto l'username nella variabile di sessione "username"
$_SESSION['username'] = $_POST['usrname'];
//Faccio il redirect nella pagine enter.php
echo "<script>
window.location = "index.php"
</script>";
}
[/php]devi aprire la sessione prima di assegnare il valore
-
[PHP]<?php
//includo il file di Configurazione con session_start()) dentro
include ("config.php");
//Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
$query = mysql_query("SELECT user_username FROM admin_users WHERE user_username = '".$_POST['usrname']."' AND user_passwd = '".md5($_POST['password'])."'");
$var=mysql_num_rows($query);
//se esiste l'account registra la sessione
if($var==1){
session_start();
session_unset();
session_destroy();
session_start();
//metto l'username nella variabile di sessione "username"
$_SESSION['username'] = $_POST['usrname'];
//Faccio il redirect nella pagine enter.php
echo "<script>
window.location = "index.php"
</script>";
}
else
{
//Faccio il redirect nella pagine enter.php
echo "<script>
window.location = "login.php"
</script>";
}
?>[/PHP]non mi effettua il login...mi torna sulla pagina login.php
-
@talkoman said:
non mi effettua il login...mi torna sulla pagina login.php
per come è il codice significa che if($var==1)restituisce FALSE.....
-
allora è strutturato così
pagina: login.php[PHP]<form action="verifica.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
<br/>
<table border="0">
<tr>
<td><div align="right">UserName</div></td>
<td><input type="text" name="usrname"></td>
</tr>
<tr>
<td><div align="right">Password</div></td>
<td><input type="password" name="password"></td>
</tr>
</table>
<input type="submit" value="Entra!" name="post"></form>[/PHP]verifica ke è quella di sopra....
-
[PHP]include ("config.php");
$username=$_POST['usrname'];
$psw=$_POST['password'];
$pswmd5=md5($psw);
$sql= "SELECT user_username FROM admin_users WHERE user_username='".$username."' AND user_passwd='".$pswmd5."'";$query = mysql_query($sql) or die (mysql_error());
$var=mysql_num_rows($query);
.....
[/PHP]prova così, eventualmente fatti un echo di $var per vedere che tira fuori
-
allora ho fatto delle prove ho fatto così la pag verifica.php:
[PHP]if($var==1){
session_start();
session_unset();
session_destroy();
session_start();
//metto l'username nella variabile di sessione "username"
$_SESSION['username'] = $_POST['usrname'];
//Faccio il redirect nella pagine enter.php
echo "SI";
/echo "<script>
window.location = "index.php"
</script>";/
}
else
{
//Faccio il redirect nella pagine enter.php
echo "NO";
/echo "<script>
window.location = "login.php"
</script>";/
}[/PHP]
e mi stampa si, quindi si redirecta su index.php
ma index.php è così:
[PHP]<?php
include ("head.inc.php");
include ("foot.inc.php");
//includo il file di Configurazione con session_start()) dentro
include ("config.php");
//se esiste la variabile $_SESSION['username'] è loggato
if(!isset($_SESSION['username'])){
echo "<script>
window.location = "login.php"
</script>";
}
?>[/PHP]
quindi può essere ke non si prende il session e ritorna su login....
come faccio??
-
[php]
if(!isset($_SESSION['username'])){
echo "<script>
window.location = "login.php"
</script>";
}
[/php]normale che non ti funge XD
prima di richiamare una variabile di sessione devi aprire la sessione XD[php]session_start();
if(!isset($_SESSION['username'])){
echo "<script>
window.location = "login.php"
</script>";
}
[/php]
-
per questo era nel config.php....
-
comunque mi da lo stesso problema originario:
[PHP]Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/head.inc.php:21) in /home/u14d2c2z/domains/tapsosnuoto.it/public_html/admin/index.php on line 7[/PHP]
-
session_start() va messo subito dopo <?, e prima che esca il session_start() del config.php hai già l'header ed il footer, ovvero, la stringa di prima la devi mettere prima dell'header e del footer.....mi pare che era già scritto...o sbaglio?
-
grazie funziona!!....devo semplicemente sistemarlo in tutte le pagine:D
-
ooooooooooohhhhhhhhhhhhhhh
divertiti :D:D
-
Ciao a tutti
ho bisogno assolutamente un aiuto da persone esperte suulle stringhe di codice PHP...
Allora devo sistemare un errore che si presenta su un sito e-commerce che è stato strutturato da un programmatore, nella sezione ccarrello mi si presenta quest'errore : "Fatal error: Cannot use string offset as an array in /home/newweb/web/carrelloop.php on line 46"a volte viene anche visualizzato anche questo problema:
"Warning:reset()[function.reset]:Passed variable is not an array or object in /home/newweb/web/visionrdineop.php on line 170
Warning:Invalid argument supplied for foreach()in /home/newweb/web/visioneordineop.php on line171Vi prego aiutatemi (magari se pootete rispondermi magari in maniera semplice,visto che è da poco che maneggio il cphp e sono ancora una principiante)
-
Credo che per poterti rispondere dovresti dire quali sono le righe incriminate e quindi vedere dopo cosa ti si presenta l'errore....;)