Autor Zpráva
pávek
Profil *
Ahoj,
prosím o pomoc. Při přihlašování uživatelů se uživatel přihlásí, ale session nefunguje.
Začne fungovat až kdzž se ručně odhlásím (napíšu do URL /odhlaseni.php).
Pak vše funguje tak jak má. Nevíte někdo co s tím?
Na fóru jsem to nenašel
Děkuju za odpovědi

přihlášení nefunguje na stránkách www.cafevincent.cz
Anonymní
Profil *
Myslíš, že tu najdeš věštce, co věští tvůj kód?
pávek
Profil *
Anonymní:
<?php
session_start();
if (!isset( $_SESSION [ 'uziv_jmeno' ])) 


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
 <head><!--  ščřžýŠČŘŽÝ -->

.............
.............
.............

   <div class="sidebar">
           
           
 <?php
        
 
if (!isset( $_SESSION [ 'uziv_jmeno' ])) 
echo ' 
   
     <h2> Přihlášení </h2>
  <form action="prihlaseni.php" method="post">     
    <table>
      <tr>
        <td> Jméno:</td>
        <td><input type="text" name="uziv_jmeno" value="" size="10" tabindex="1" /></td>
      </tr>
      <tr>
        <td> Heslo:</td>
        <td><input type="password" name="heslo" value="" size="11" tabindex="2" /></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" name="submit" value="Přihlásit se" /></td>
      </tr>
      <tr>
        <td colspan="2"><a href="registrace.php">Registrace</a></td>
      </tr>
    </table>
  </form>';
   
  else {
  echo "<h2>Přihlášen</h2> pan/paní ".$_SESSION["prijmeni"];


  echo '<br><BR> <a href="ucet.php">Váš účet</a>';
  echo '<BR> <a href="odhlaseni.php">odhlásit</a>';}


  ?>
 </div>
Tori
Profil
pávek:
Nechybí tam pár složených závorek za oběma IF?
pávek
Profil *
Tori:
To první IF tam být nená, to jsem zkoušel jen pokud není
$_SESSION [ 'uziv_jmeno' ] 
, tak aby se zrušila session. Ale to taky nefunguje.
A to druhé sem opravil a stále to nefunguje. ale děkuji.
Davex
Profil
Chybí tam kód, kterým by se nějak přesypaly přihlašovací údaje do $_SESSION.
pávek
Profil *
Davex:
ten kód má v jiným scriptu
.........
.........
.........
$overeni = mysql_num_rows($dotaz);$row = mysql_fetch_array($dotaz);
if($overeni == 1)
 {   
    $_SESSION['uziv_jmeno'] = stripslashes($login);
    $_SESSION['id'] = $row["id"];
    $_SESSION['prijmeni'] = $row["prijmeni"];
    $_SESSION['jmeno'] = $row["jmeno"];
    $_SESSION['ulice'] = $row["ulice"];
    $_SESSION['mesto'] = $row["mesto"];
    $_SESSION['email'] = $row["email"];
    $_SESSION['telefon'] = $row["telefon"];
     $_SESSION['admin'] = $row["admin"];
        if(!isset($_SESSION["cas"])) $_SESSION["cas"]=time();
        header("location: galerie.php");

echo "<h1>Úspěšně jste se přihlásili</h1>";



echo "<BR>Čas přihlášení: ".date("j.n.Y G:i:s",$_SESSION["cas"]);
echo "<BR>Vaše uživatelské jméno je: ".$_SESSION["uziv_jmeno"];
echo "<p><a href=\"index.php\">Pokračujte zpět na hlavní stránku</a>";
pávek
Profil *
Tady to ještě funguje normálně to vypíše Session, ale jak přepnu na jinou stránku, tak už to nefunguje.
ale když zadam ručně do URL /odhlaseni .php tak už po přihlášení funguje Session normálně.
1Pupik1989
Profil
A je všude session_start()?
pávek
Profil *
1Pupik1989:
Všude na každý stránce, ale dokud to ručně neodhlásím tak to prostě nefunguje.
Davex
Profil
Nemůže tam být konflikt s nějakým starým Session ID z předchozích pokusů? Zkus vymazat cookies v prohlížeči.
pávek
Profil *
Davex:
Tak to taky nefunguje. nemůže to být nějaké nastavení v php.ini?
Tori
Profil
pávek:
když zadam ručně do URL /odhlaseni.php tak už po přihlášení funguje Session normálně.
Tohle je zajímavé. Co je v tom skriptu takového, že pak už všechno funguje?
pávek
Profil *
Tori:

No, to by mě taky zajímalo...
1Pupik1989
Profil
dal bych na začátek v přihlašovacím scriptu "session_destroy()". Jinak nahoď i ten odhlašovací script, třeba to někoho trkne.
pávek
Profil *
1Pupik1989:
<?php
session_start();// Zapneme session
session_destroy();// Smažeme všechna session
header("location: index.php"); // Přsesmeruje na přihlašovací stránku
?>


Kdyžtak můžete vyzkoušet co to dělá. Odkaz
UŽIV. JMENO: test
HESLO:test
1Pupik1989
Profil
No pokud se to odhlašuje, tak je jasný, že problém tam nebude, to už se ale ví. Chtělo by to celé kódy, třeba index.php, jinak se asi nehneme. Kontrolovat se bude muset od začátku do konce. Mě se tohle tenkrát dělo na jedné webové stránce, ale už nevím čím to bylo.
sacharoza
Profil *
Na index.php a prihlaseni.php se nevytvareji sessions. Pred funkci session_start nesmi byt zadny vystup - prectete si o tom neco v PHP FAQ. Varovani od PHP se Vam nezobrazi, protoze je vypnute zobrazovani chyb.
pávek
Profil *
Tak už to funguje, smazal jsem v prihlaseni.php
 header("location: galerie.php");
. Všem moc děkuji...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0