Autor Zpráva
Jirka ze Slezska
Profil *
Zdravím, mám zajímavej problém. Kdysi jsem si dělal redakční systém, teď ho potřebuji znovu použít, trochu si jej upravit, ale hned jsem narazil na to, že mi přihlašovací formulář do adminsekce, který posílá metodou post, nic do proměnnejch neposílá. Čím to může být?
<
?php
session_start();
  include "include/config.php"; //připojení k db + jiné konfigurace
  
// Ověření loginu admina // 
  if(!empty($_POST['nick']) && !empty($_POST['heslo'])) 
  {
    $dotaz=mysql_query("SELECT id FROM admini where login='".$_POST['nick']."' AND heslo='".md5($_POST['heslo'])."' LIMIT 1;");
    if(mysql_num_rows($dotaz)==1)
    {
     $data=mysql_fetch_array($dotaz);
     $_SESSION['admin_id']=$data["id"];
     $_SESSION['admin_login']=strtolower($_POST['nick']);
     $_SESSION['admin_heslo']=md5($_POST['heslo']);
    } 
    else 
    {
      $error="<br /> Chybné přihlašovací jméno nebo heslo!!!";
    }
  }
//Odhlášení odmina//
...
?>
<!DOCTYPE.....">
...
<br />Uživatel: <?php if(isset($_SESSION['admin_login'])) {echo '<b>'.$_SESSION['admin_login'].'</b> - <a href="index.php?akce=odhlaseni">Odhlásit se...</a>';}else{ echo '<b>Nepřihlášen</b>';} ?></div>
<div class="obsah">
<?php
// ověření přihlášení //
if(!empty($_SESSION['admin_login'])){
if(!empty($_GET["page"])){
  include "./".$_GET["page"].".php";
  }else{
  echo "Dobrý den,<br /> vítejte v administračním systému Vašich webových stránek. V levém menu si zvolte stránku kterou chcete editovat.";
  }
}
else 
{
// pokud neni prihlasen zobrazime formular pro prihlaseni
  echo($error.'
    <form action="index.php" method="post">
    <table border="0">
    <tr><td>Přihlašovací jméno:</td><td><input style="width: 150px;" type="text" name="nick" /></td></tr>
    <tr><td>Přihlašovací heslo:</td><td><input style="width: 150px;" type="password" name="heslo" /></td></tr>
    <tr><td colspan="2" style="text-align: center;"><input type="submit" name="prihlaseni" value="Přihlásit se" /></td></tr>
    </table>
    </form>');
}
?>
...

Když si dám prostě echo $_POST['nick'] nebo heslo, nic to nevypíše. Při kliknutí na tlačítko přihlásit se dokonce nic nestane, nevyhodí to hlášku, že heslo je špatně atd. Nevím, čím to může být. Jak jsem říkal, prohodím li to na get, tak to jde ...
Ugo
Profil
jiný formuláře s post ti jdou na tom serveru? třeba jen nějaký testovací kousek, v tomhle samozřejmě chyba neni (a ani nemůže být), takže je to buď v nastavení serveru, například nulovej limit na post a nebo si před tím kdes měl echo mažeš post data, což mi nepřipadá moc pravděpodobné
Jirka ze Slezska
Profil *
Hm, nejede ani jiný formulář s post, prostě i když si tam dám podmínku
if(isset($_POST['submit'])){echo "neco"}else{echo "neco jine"}]
tak pri post mi vypíše neco jine at klikam jak klikam, ale jakmile dam get, už to zase funguje ...


No, ale když zkusím formulář na webu a ne v admin sekci, tak funguje ... ach jo


Tak funguje i formulář na jiné stránce v admin sekci, nefunguje jen tady to. Nevím proč...


Tak formulář s metodou post nejede pouze na stránce admin/index.php ... když ten samej kod překopiruju do souboru admin/admin.php tak tam to vše jede ... to je mi záhada
weroro
Profil
Jirka ze Slezska:
Možno budem za blbca, ale nemáš v tom adresári admin, súbor .htaccess s nejakým nastavením?
Jirka ze Slezska
Profil *
v adresáři admin nemám žádnej .htaccess právě... zkoušel jsem smazat i ten z root webu ale taky bez výsledku, toto mě už napadlo :(
Alphard
Profil
Odřádkování mezi < a ?php je jen na diskusi?

Jinak prostě var_dump($_POST);, var_dump($_REQUEST); apod., prostě debugovat. Do 5 minut to musí být vyřešené.

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: