- Home
- Categorie
- Coding e Sistemistica
- PHP
- come funziona SESSION
-
come funziona SESSION
Ciao a tutti, io ho una pagina dove faccio il login, se è andato a buon fine vorrei che nalla pagina dolo lo invio, uscisse il nome di chi si è loggato, lo faccio, forse in modo errato
login.php
[php]
if(isset($_POST['t_username']))
{
$user = (isset($_POST['t_username'])) ? trim($_POST['t_username']) : '';
$pass = (isset($_POST['t_password'])) ? trim($_POST['t_password']) : '';
if (get_magic_quotes_gpc())
{
$user=stripslashes($user);
$pass=stripslashes($pass);
}
$user= htmlspecialchars($user);
$pass= htmlspecialchars($pass);
$user=mysql_real_escape_string($user);
$pass=mysql_real_escape_string($pass);$query = mysql_query("SELECT id_giocatore FROM tab_registrazione WHERE nickname = '$user' AND password = '$pass' LIMIT 1");
if(mysql_num_rows($query) == 1)
{
$login = mysql_fetch_array($query);
$_SESSION['login'] = $login['id_giocatore'];
header('Location: index.php');
exit;
}
else
{
$messaggio=urlencode("Accesso Negato!<br>
Username e/o Password non riconosciuti"<br>
header('location:'.'frm_login.php'.'?msg='.$messaggio);
exit;
}
}
[/php]
la pagina index.php
[php]
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="400">
<tr>
<td><?php
if(!isset($_SESSION['id_login'])){
echo"aaa";}
else{
echo"$_SESSION['id_login']";}?></td>
</tr>
</table>
[/php]mi stampa sempre aaa
ciao e grazie
-
Ciao danny1975,
tu imposti $_SESSION['login'] mentre fai il controllo su $_SESSION['id_login'].
-
Grazie ho provato anche
[PHP]
<?php
if(!isset($_SESSION['login'])){
echo"aaa";}
else{
echo"$_SESSION['login']";}?>
[/PHP]
ma nulla da fare, secondo me non ho capito niente delle sessioni
-
Il session_start viene eseguito in entrambe le pagine?
-
Solo in login.php nella index.php no
-
Devi metterlo pure la, altrimenti non puoi usare le sessinoi in quella pagina.
-
Quando inserisco ```
session_start();Warning: session_start()function.session-start: open(C:\temp\sess_b9ce7dd2e0c8e3427137d5a63ce49939, O_RDWR) failed: No such file or directory (2) in D:\html\fantascommetti\privato\index.php on line 2
[PHP] <?php session_start(); require '../Config.php'; require '../Connect.php'; ?> <table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100"> <tr> <td><?php if(!isset($_SESSION['login'])){ echo"aaa";} else{ echo"$_SESSION['login']";}?></td> </tr> </table> [/PHP] eppure sembra cosi facile ciao :cry:
-
Ciao! (danny1975) prova se funziona così?
[php]
<?php
session_start();
require '../Config.php';
require '../Connect.php';
?>
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
if(!isset($_SESSION['login']))
{
echo"Ciao $login";
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
?>
[/php]
Se funziona fammi sapere.
-
@mauranto99 said:
Ciao! (danny1975) prova se funziona così?
[php]
<?php
session_start();
require '../Config.php';
require '../Connect.php';
?>
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
if(!isset($_SESSION['login']))
{
echo"Ciao $login";
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
?>
[/php]
Se funziona fammi sapere.Ciao oltre all'errore che ho segnalato in precedenza adesso mi dice
**Notice**: Undefined index: login in **D:\html\fantascommetti\privato\siu.php** on line **9** Ciao
-
L'errore che hai postato precedentemente non è un problema che dipende dallo script, bensi ci sono problemi nelle gestioni lato server, è la configurazione del tuo server locale ad avere dei problemi e non lo script.
-
@mauranto99 said:
Ciao! (danny1975) prova se funziona così?
[php]
<?php
session_start();
require '../Config.php';
require '../Connect.php';
?>
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
if(!isset($_SESSION['login']))
{
echo"Ciao $login";
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
?>
[/php]
Se funziona fammi sapere.@Thedarkita said:
L'errore che hai postato precedentemente non è un problema che dipende dallo script, bensi ci sono problemi nelle gestioni lato server, è la configurazione del tuo server locale ad avere dei problemi e non lo script.
Hai ragione adesso ho provato anche un altro sito che avevo fatto e mi da lo stesso errrore, mi potresti aiutare, grazie
-
Ok con un po di pazienza sono riuscito a settare il php.ini
adesso mi riconosce la session e mi da Ciao 1,
1 sarebbe l'id del loggato, adesso devo dargli un nome ed ho fatto una query, ma non va pwerchè non so dove è l'errore con le virgolette, vi posto la query
[PHP]
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
$query_1=mysql_query("SELECT nickname FROM tab_registrazione WHERE id_giocatore=$login")
or die("errore nella query;".mysql_error());
$result=mysql_num_rows($query_1);
if(isset($_SESSION['login']))
{
echo"Ciao" . $result['nickname'];
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
[/PHP]
Lo so il problema sta che c'è una stringa
-
@danny1975 said:
Ok con un po di pazienza sono riuscito a settare il php.ini
adesso mi riconosce la session e mi da Ciao 1,
1 sarebbe l'id del loggato, adesso devo dargli un nome ed ho fatto una query, ma non va pwerchè non so dove è l'errore con le virgolette, vi posto la query
[php]
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
$query_1=mysql_query("SELECT nickname FROM tab_registrazione WHERE id_giocatore=$login")
or die("errore nella query;".mysql_error());
$result=mysql_num_rows($query_1);
if(isset($_SESSION['login']))
{
echo"Ciao" . $result['nickname'];
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
[/php]
Lo so il problema sta che c'è una stringascusatemi tanto, non è mysql_num_rows
ma mysql_fetch_array, infatti il risultato torna, potreste dirmi se la query professionalmente è giusta? grazie da danny per l'aiuto