Problem se session

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Problem se session

Příspěvek od Vodny »

Zdravim.

Mám nějakou práci do školy a potřebuju pomoct. První co mě zajímá jak moc velkej rozdíl je mezi skutečnym serverem (u mě webzdarma) a localhostem.
Jde o to že na local hostu mi vše funguje a když to nahraju na web zdarma tak to nejde. Mám tam registraci ta jde přihlášení se taky povede jenže když jako přihlášenej na něco kliknu tak se jakoby ta session ztratí fakt se mi to špatně popisuje ale můžete to zkusit jestli se nudíte. www.motocr.wz.cz

Nechápu jak to že to na localu běží a tam ne. Kde je nejspíš chyba?

Díky a omluvte to vysvětlení jsem meganas..... je to fakt pakárna
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

U tebe a na serveru se samozřejmě může lišit verze PHP a jeho nastavení. Na což je potřeba dávat pozor.
A pokud zde ten tvůj problém nepopíšeš líp nebo neukážeš zdrojáky tak ti asi nikdo moc nepomůže.
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

Tak to nevim páč nevim co by mohlo bejt důležitý a kde by se ta chyba mohla objevit.

Takže tohle je index.php
Tučně jsem zvýraznil jedinou změnu po přihlášení a ta se projeví pouze hned po zalogování ale při dalším procházeni stránky už proste tohle :
<?php
if ($_SESSION["uzivatel"])
{
include ("prihlasen.php");
}
else
{
include ("prihlaseni.php");
}

nefunguje. V tom session uzivatel je uložený jedinečnej login kterej je v DB.


Kód: Vybrat vše

<?php 
  session_start();     
?>

<?php 
  include ("hlavicka.php"); 
?>
  
<body>

<!-- Začátek Obalu --> 
    <div id="obal"> 
    
    <div id="head"></div> 
       
    <?php
      include ("menu.php");
    ?>
    
 <!-- Hlavní obsah stránky  -->                
      
        <div id="inzeraty">
                 
        <!-- Inzerát --> 
        <?php
                
        $stranka = $_GET["stranka"];
        
        switch ($stranka) 
        {
        
         case null:
            $odkaz = "inzerat.php";
            break; 
            
         case $stranka == "kontakt":
            $odkaz = "kontakt.php";
            break;
             
        case $stranka == "workofka":
            $odkaz = "workofka.php";
            break;
             
         case $stranka == "registrace":
            $odkaz = "registrace.php";
            break;
        
        case $stranka == "osobniudaje":
            $odkaz = "osobniudaje.php";
            break; 
            
        case $stranka == "zmenahesla":
            $odkaz = "zmenahesla.php";
            break; 
            
        case $stranka == "odhlaseni":
            $odkaz = "odhlaseni.php";
            break;          
        }   
             
       include ($odkaz);
        ?>
        <!-- Konec Inzerát -->              
        
       </div>
       
 <!-- Pravý menu -->      
       <div id="pravyMenu"> 
         
          <!-- Přihlášení --> 
          <?php
          if ($_SESSION["uzivatel"])
          {
            include ("prihlasen.php");
          }
          else
          {
            include ("prihlaseni.php");
          }                      
           
          ?>      
          <!-- Vyhledávání --> 
           <?php
            include ("vyhledavani.php")
           ?>             
          <!-- Informace --> 
            <?php
             include ("informace.php")
            ?>
            
        </div>     
        
    <!-- Pata -->
    <?php
      include ("pata.php")
    ?>
    
 
   </div><!-- Konec Obalu -->
  </body>
</html>
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

Můžete si to zkusit jen tam uživatel

login : a
heslo : a
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
cabman
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 15. úno 2005
Bydliště: Prčice

Příspěvek od cabman »

Já myslím že ti tam chybí registrace session. Nevím jestli je to důvod proč to nechodí, ale mě to dělalo něco podobného a vyřešila to registrace. Věci jako session_start() se vkládají externě.

Kód: Vybrat vše

<?
//login.php

 //načtení funkcí a connectu k databázi
 include 'connect.php'; 
 include 'authentifikace.php';

 //authenticateuser je funkce schovaná ve autentifikace.php,
 //která podle tabulky ověří, zda je uživatel registrován
 //pokud ano tak vrací 1 a provede se if jinak se provede else

 if (authenticateuserform($form_user_id,$form_password))
  {
  //registruji session pro info o uživateli které budou využívány k ověření na každé stránce
  session_register(loginus); 
  session_register(heslous); 
  session_register(hodnostus); 
  $loginus = $form_user_id;
  $heslous = $form_password;
  $hodnostus = dejhodnost($form_user_id);
  //přesměrování hlavičkou do .php
  header("Location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/"."adminindex.php");
  exit();
  }
  else
   {
   //přesměrování hlavičkou do logout.php protože údaje o zákazníkovi nesouhlasí
   //uživatel může skusit zadat informace znovu
   header("Location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/"."logout.php");
   exit();
   }
?>
Jsem pro přesměrování pctuning na google. Na co forum? Když se člověk na něco zeptá tak mu nějakej "inteligent" odpoví že si to má najít v google. V google je všechno a konečná odpověď na vše je google.
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

cabman píše:Já myslím že ti tam chybí registrace session. Nevím jestli je to důvod proč to nechodí, ale mě to dělalo něco podobného a vyřešila to registrace.
Session_register je "deprecated". Používá se $_SESSION["neco"].
cabman píše:Věci jako session_start() se vkládají externě.
Jak externě?

Vodny: co zdroj zaloguj.php?
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

tohle je zaloguj.php

Kód: Vybrat vše

<?php 
  session_start();     
?>
<?php

  $log = $_POST['login'];
  $pass = $_POST['heslo'];
  
  $hlavicka = "Informace o přihlašní do MotoCR";
  
  if ($log == null || $pass == null)
  {
    $hlaska = "Nevyplni jsi login nebo heslo";
  }
  
  else
  {    
     require_once ('pripojit.php');  
     $dotazlog = mysql_query("select login,heslo from uzivatel where login = '$log'");   
     $zaznam = MySQL_Fetch_Array($dotazlog, MYSQL_NUM);  
     
     if ($zaznam[0]==null)
     {
      $hlaska = "uživatel nenalezen";
      
     }
     else
     {
      if($zaznam[1]==$pass)
      {
        $_SESSION["uzivatel"]= $log;        
        $hlaska = "Přihlášen jako ".$_SESSION["uzivatel"];
        
      }
      else
      {
        $hlaska = "špatný heslo!";
        
      }
     }     
  }
  
  include ("hlaska.php");
?>
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

Fakt tomu nerozumim na webzdarma se přihlásim jako "a" "a" příhlásí se to ale při dalšim procházení webu to prostě už v tý SESSION asi nejni nebo nevim. Ale na tom localu to prostě jde jak je to sakra možný .
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

Vodny píše:Fakt tomu nerozumim na webzdarma se přihlásim jako "a" "a" příhlásí se to ale při dalšim procházení webu to prostě už v tý SESSION asi nejni nebo nevim. Ale na tom localu to prostě jde jak je to sakra možný .

Kód: Vybrat vše

var_dump($_SESSION);
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

??

var_dump($_SESSION);

??

Prosím můžeš mi to vysvětlit co to je?
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

Vodny píše:var_dump($_SESSION);
Prosím můžeš mi to vysvětlit co to je?
Výpiše obsah a typ proměnné . )
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

a k čemu to ? vypsat to můžu přece i pomocí ECHa
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

Vodny píše:a k čemu to ? vypsat to můžu přece i pomocí ECHa
No říkáš že se ti ztrácí ty proměnné, tak abys viděl co tam máš za hodnoty.
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

Jo tak. Já tušim kde se to ztrácí ale nevim proč.
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
TomTom
Začátečník
Začátečník
Registrován: 02. úno 2006
Bydliště: KönigGratz

Příspěvek od TomTom »

Máš povolený cookies pro přenos SID nebo ho předáváš v URL?
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

TomTom píše:Máš povolený cookies pro přenos SID nebo ho předáváš v URL?
Kde se musí povolit ten přenos SID pře URL nic nepodávám.
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Příspěvek od l_iNu$ »

No vono už je spatně tohle:

Kód: Vybrat vše

if ($_SESSION["uzivatel"]) ...
správně by asi mělo být

Kód: Vybrat vše

if (isset($_SESSION["uzivatel"])) ...
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

l_iNu$ píše:No vono už je spatně tohle:

Kód: Vybrat vše

if ($_SESSION["uzivatel"]) ...
správně by asi mělo být

Kód: Vybrat vše

if (isset($_SESSION["uzivatel"])) ...
Kruci chlape máš recht! to bude tim dal jsem to tam sice to neukazuje to co to má ale je to přihlášený a už to neodpadá! takže díky díky moc konečně se to hnulo
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
TomTom
Začátečník
Začátečník
Registrován: 02. úno 2006
Bydliště: KönigGratz

Příspěvek od TomTom »

Vodny píše:
TomTom píše:Máš povolený cookies pro přenos SID nebo ho předáváš v URL?
Kde se musí povolit ten přenos SID pře URL nic nepodávám.
Nastavení session je v php.ini. Můžeš mit celkově jinak nastavenou praci se session na localhostu než maj na tom WZ. Jinak cookies vypínáš/zapínáš normálně v prohlížeči. Ale kdyby jsi je měl vyplé, tak by nefungovalo přihlášení vůbec..
Vodny
Začátečník
Začátečník
Uživatelský avatar
Registrován: 06. říj 2004
Bydliště: Příbram
Kontaktovat uživatele:

Příspěvek od Vodny »

stejně tam je pořád problém udržet tu session naživu. to tom přidání isset se sice ukáže to menu který se má tomu přihlášenýmu ukázat ale v session je uložená hodnota "0" ono se to musí nechat nějakym způsobem předávat protože takhle jak mi to teď funguje je to pořád špatný
PC pro zábavu:
CPU: Intel Core i5-750 Chlazení: Arctic Cooling Freezer Xtreme (rev. 2) MB: MSI P55-GD65 RAM: 2x2GB Kingston KHX1600C8D3K2/4GX GPU: ATi ASUS HD5850 1GB HDD: WD Caviar Green 1TB Ostatní zazřízení: DVD-RW od LG, čtečka většiny druhů paměťových karet Case: NZXT ZERO 2 Zdroj: Corsair HX750 Displej:HP LP2475w Reproduktory: Genius HT 5100

Pomocník při práci:
Hewlett-Packard 2730p (Tablet PC)
Odpovědět

Zpět na „Programování a web“