 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Sâm Oct 30, 2004 1:55 am Titlul subiectului: cookie si variabile de mediu |
|
|
1.Cookie:
Vreau sa imi apara, dupa ce s-a logat un user, sa ii apara userul si sa ii spuna daca este conectat sau deconectat. In fisierul care verifica logarea, am pus scriptul:
<?
$user=$_POST['login'];
setcookie("cookie_homedesign",$user);
?> // care are menirea de a stabili un cookie cu valoarea pe care a introdus-o la login
in fisierul in care este introdus am pus codul:
<?PHP //stare user
foreach ($HTTP_COOKIE_VARS as $nume => $valoare);
if(!empty($valoare )){
echo "<b>Stare:</b> conectat<br>";
echo "<b>User:</b> ".$valoare."<br>";
echo "<b>Comenzi:</b> <br><a href=\"deconnect_user.php\">deconectare </a> <br>";
echo"<a href=\"admin.php\"> Contul meu</a>";
}
else{
echo"<b>Stare:</b> neconectat";
}
?> //aici ar trebui sa ii apara daca este conectat sau nu
problema este ca ii apare ca este deconectat, cu toate ca s-a logat, iar daca dau un refresh la pagina, apare ca este conectat. Care este problema?
2. Cum utilizez acele variabiel de mediu. de exemplu, cum fac ca sa afisez adrresa ip al clientului? (asa: echo "Adresa IP este $REMOTE_ADDR."; - asa nu imi merge) Cod: |
|
| Sus |
|
un_guru
Data înscrierii: 25/Iul/2004
Mesaje: 153
Locație: Miecurea Ciuc
|
| Trimis: Sâm Oct 30, 2004 11:04 am Titlul subiectului: |
|
|
Pai asa e normal :wink:
Cand apelezi un server,
1. navigatorul trimite cookie catre server,
2. serverul verifica cookie,
3. executa comenzile
4. trimite cookie catre navigator
5. apoi trimite pagina.
In momentul in care trimite pagina, serverul nu stie ca utilizatorul este conectat. El stie asta numai din cookie(2). La urmatoarea vizita, navigatorul va trimite cookie in care apare utilizatorul logat.
Incearca sa folosesti $_SESSION pentru login.
an style="color: #000000"><?php if (!$_SESSION['utilizator']) {
identify();
}
function identify()
{
if(!$_POST['login']) {
//verifica mai intai utilizatorul in baza de date, apoi
setcookie();
$_SESSION['utilizator'] = 'utilizatorul in cauza'; // $row['user'] din mysql_fetch_assoc()
} elseif ($_COOKIE['utilizator']) {
$_SESSION['utilizator'] = $_COOKIE['utilizator'];
} else {
$GLOBAL['conectat'] = false;
} // end identify()
if ($conectat){
echo $_SESSION['utilizator']." conectat";
} else {
echo "neconectat";
}
echo "ip: " . $_SERVER['REMOTE_ADDR']; |
|
| Sus |
|
beginner18
Data înscrierii: 30/Aug/2004
Mesaje: 757
Locație: Bucuresti
|
| Trimis: Sâm Oct 30, 2004 12:04 pm Titlul subiectului: |
|
|
ok..oricum treburile astea cu sesiunile inca nu le-am inteles(nici nu am inteles prea multe), oricum merci...
Dar cu acele variabile de mediu imi poate oferi cineva informatii? |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|