- Home
- Categorie
- Coding e Sistemistica
- Coding
- errore sessione
-
non ce ne sono...questo contiene quella pagina:
[PHP]
<?php
session_start();
$connection = mysql_connect( 'host', 'nome_utente', 'password') or die('Could not connect to server.' );
mysql_select_db('nome_database', $connection) or die('Could not select database.');
?>
[/PHP]
-
ma a che ti serve il session_start(); nel config.php??
-
dove dovrei metterlo?
-
se il tuo config.php è proprio quello di sopra la sessione in quella pagina non ti serve proprio....almeno mi pare.....non ne vedo l'utilità
-
siccome viene richiamato anche da una pagina ke fa il login....
che mi consigli?
lo metto nella pagina del login?
-
@talkoman said:
siccome viene richiamato anche da una pagina ke fa il login....
che mi consigli?
lo metto nella pagina del login?
ovvio che si XDma oltre al session_start, nella pagina di login devi definire anche cosa dovrà portarsi appresso la sessione, ovvero rob del tipo:
[php]
//** tiri fuori i dati dal Db che ti includi in un array e quindi fai partire la sessione. Consigliabile unsettarla e distruggerla, per poi riaprirla */
session_start();
session_unset();
session_destroy();
session_start();
$_SESSION["id_user"]=$array["id_user"];
$_SESSION["nick"]=$array["nick"];
$_SESSION["email"]=$array["email"];
.......
......
....
[/php]
da quì in poi ti potrai richiamare i dati di sessione mettendo ad inizio pagina, immediatamente dopo il <? (e prima NON deve esserci nulla):
[php]session_start();
$nick=$_SESSION['nick'];
....
..
..[/php]
-
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)