Autor Zpráva
Honzicek
Profil *
Dobrý den,
Mám trochu upravený script na přihlašování z linuxsoftu (http://www.linuxsoft.cz/article.php?id_article=543)
Já ho mám takto:
Prihlaseni.php:
<?  
  $BudemeZobrazovat=true;
  if (!empty($_POST)) // už se odeslalo
  {
    if (!isset($_SESSION["id"])) 
    {
      echo "<table align='center' width='100%' bgcolor='#F55100'><tr><td width='100%' align='center'><img src='images/error.png' width='20' height='20'><font color='white'>Uživatelské jméno nebo heslo nesouhlasí!</font></td></tr></table>";
    }
    else 
    {
      $BudemeZobrazovat=false;
      echo "<table align='center' width='100%' bgcolor='#588FBE'><tr><td width='100%' align='center'><img src='images/picto-fajfka.png' valign='center' width='20' height='20'><font color='white'>Přihlášen ".$_POST["prezdivka"]</font></td></tr></table><br>;
    }  
  }
if ($BudemeZobrazovat):?>
  <form method="post" action="prihlaseni.php" id="login-forme"> 
  <table>
    <tr>
      <td height="30" align="right">Login:</td>
      <td width="150" height="30"><input name="prezdivka" class="text" value="<?echo $_POST["prezdivka"]?>"></td>
    </tr>
      <td height="30" align="right">Heslo:</td>
      <td width="150" height="30"><input name="heslo" type = "password" class="password" value="<?echo $_POST["heslo"]?>"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="Submit" class="submit" name="odesli" value="Přihlásit"></td>
    </tr>
  </table>
  </form>
<?endif;?>

Funkce:
function iduzivatele ($prezdivka, $heslo)
{
  $vysledek=mysql_query("select id from uzivatele where registracedokoncena=1 and prezdivka='".$prezdivka."' and heslo='".$heslo."'", $GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0) 
    return false; 
  else {
    $radek = mysql_fetch_array($vysledek);
    return $radek["id"];
  }
}  

Sessions:
<? 
ob_start();
session_start();
require "./func.php";
require "./Xtea.php";
if ($_GET["clanek"]=="prihlaseni")
{
  $id = iduzivatele($_POST["prezdivka"], $_POST["heslo"]);
  if ($id<>0) $_SESSION["id"]=$id;
}
elseif ($_GET["clanek"]=="odhlaseni")
{
  unset($_SESSION["id"]);
}
elseif ($_GET["clanek"]=="zruseniregistrace")
{
  if (isset($_SESSION["id"])) mysql_query ("delete from uzivatele where id=".$_SESSION["id"].";", $GLOBALS["link"]);
  unset($_SESSION["id"]);
}
?>


Db je určitě v pořádku, i uživatel, ale pořád mi to píše že jsem blbě napsal heslo nebo jméno uživatele.
Na mém webu toje takto:
Přihlášeni: http://happy-gamers.eu/prihlaseni.php
Registrace: http://happy-gamers.eu/registrace.php

Nevíte co s tím? :-)
SpotRudloff
Profil
Kde includuješ sessions? Kde definuješ sezené ID?
Honzicek
Profil *
session hned na 1 řádku, to s id nechápu :D
SpotRudloff
Profil
Kde includuješ sessions do hlavního souboru? Kde určuješ obsah $_SESSION['id']? Takhle jsem to myslel.
Honzicek
Profil *
ano, do hlavního souboru
Honzicek
Profil *
Už vím v čem to asi je,
if ($_GET["clanek"]=="prihlaseni")
{
  $id = iduzivatele($_POST["prezdivka"], $_POST["heslo"]);
  if ($id<>0) $_SESSION["id"]=$id;
}

Jenom že já mám prihlaseni.php a ne neco.php?clanek=prihlaseni, nevíte co s tím?

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