Autor Zpráva
peklo
Profil *
Mam kod pro prihlasovani a pridavani udaju do MySQL databaze, ale nejak mi nejede ukladani promenych do cookies a to jen primo na hostingu (na virtualnim serveru mi vse funguje spravne, pouzivam wampserver). Po vlozeni prihlasovacich udaju se pri druhem kliku stranky chovaji, jako by v cookies uzivatel nemel promennou...

kod:
<?php  
if(IsSet($_POST['login']) OR $_REQUEST['login'])
{

  if($_REQUEST['login']!="zobra")
  {
    echo "Neznámý uživatel.";
    exit;
  }
  else
    {
    if ($_REQUEST['heslo']!="123456")
    {
      echo "Neplatné heslo.";
      exit;
    }
    }
    
setcookie('login', $_REQUEST['login'], time()+900);
setcookie('heslo', $_REQUEST['heslo'], time()+900);


}
else
{
?>

<FORM method="post" action="#">

  <TABLE width="300" border="0">
    <TR>
      <TD><B>Uživatelské jméno:</B></TD>
      <TD><INPUT type="text" name="login" size="20"></TD>
    </TR>
    <TR>
      <TD><B>Heslo:</B></TD>
      <TD><INPUT type="password" name="heslo" maxlength="10" size="20"></TD>
    </TR>
    <TR>
      <TD></TD>
      <TD><INPUT type="submit" value="Přihlásit"></TD>
    </TR>
  </TABLE>
</FORM>


<?php
}

if($_REQUEST['login']=="zobra" AND $_REQUEST['heslo']=="123456")
{
?>



<table  align="left">
<FORM action="#" method="post">

<tr><td>Druh:</td><td>
<select name="druh">
<option value="jidlo">Jídlo</option>
<option value="napoj">Nápoj</option>
</select>
</td></tr>
<tr><td>Název:</td><td><input type="text" name="nazev"></td><td></td></tr>
<tr><td>Popis:</td><td><textarea cols="50" rows="10" type="text" name="popis"></textarea></td><td>* informace k nabidce</td></tr>
<tr><td>Cena:</td><td><input type="text" name="cena"></td><td>* vepsat včetně jednotky(Kč, ,-)</td></tr>
<tr><td></td><td><input type="submit" value="Vložit"></td><td></td></tr>
</form>
</table>
<br>

  <?php
  if (IsSet($_POST['nazev']))
  {
                include('pripoj_DB.inc.php');                 
                $vysledek=mysql_query("INSERT INTO nabidka (druh, nazev, popis,cena) VALUES ('{$_POST['druh']}', '{$_POST['nazev']}', '{$_POST['popis']}', '{$_POST['cena']}')");
                
                mysql_close();
  }
}
  ?>



Je to dost krkolomne, pac nemam zatim moc zkusenosti.
Prosim poradte, v cem by mohla byt chyba.Diky
nightfish
Profil
do cookie hodnoty ukládáš, ale už je nečteš...
viz proměnné $_COOKIE['login'] a $_COOKIE['heslo']
peklo
Profil *
ctu je takto

if (IsSet($_REQUEST['login']))
neco se stane;

ale nenacte mi ji to...jako by tam nebyla
nightfish
Profil
peklo
ctu je takto
sorry, neuvědomil jsem si, že do $_REQUEST se ukládají i hodnoty z cookies
každopádně není tedy problém v tom, že cookies se objeví až v dalším HTTP požadavku (tedy na další stránce)? za setcookie bych zkusil dát přesměrování na tutéž stránku
Mastodont
Profil
No a proč používáš $_REQUEST namísto $_COOKIE?
peklo
Profil *
nightfish

Prave ze v dalsim HTTP pozadavku se neobjevi, jako by se prave neulozili...poprve script vyuzije hodnot z prihlasovacich INPUTů a pri dalsim obnoveni stranky je podminka

if(IsSet($_POST['login']) OR $_REQUEST['login'])
nesplnena a probyha větev pod "else"

POST je zde pro pripad ze byl odeslan formular a REQUEST pokud jiz probehl a v cookie je hodnota...

Takze v cookie asi hodnota neni
peklo
Profil *
Mastodont
No a proč používáš $_REQUEST namísto $_COOKIE?

Protoze mi to s timto zapisem take nefunguje a pouzivat REQUEST pro cookie sem se naucil z klihy, i kdyz je to mozna spatne reseni...To by ale na muj script mit vliv nemelo.

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: