Autor Zpráva
ketys
Profil
Zdravím, mám problém, předělávám jeden web na můj administrační systém, který na jiným hostingu funguje, ale na ic.cz se nemohu přihlásit.
http://www.ubytovani-fojtek.ic.cz/admin/
Připojení na databázi funguje, jelikož jsem stránky již předělal tak, aby obsah byl tahán z db
Zde vám pošlu kód s přihlášením:

<?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//
  if($_GET["akce"]=="odhlaseni")
  {
    unset($_SESSION['admin_login']);
    unset($_SESSION['admin_heslo']);
  }

 ?>

A ještě jeden důležitý kód:

// 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.'  + formulář přihlášení

Kde může být záludnost v tom, že to na ic.cz nejede? Hlavně mě zaráží to, že se nezobrazí ani hláška error, ani se nemění stav přihlášen/nepřihlášen, ať už udělám cokoliv .. :(
PHP_Nemaster
Profil
$dotaz=mysql_query("SELECT id FROM admini where login='".$_POST['nick']."' AND heslo='".md5($_POST['heslo'])."' LIMIT 1;");

Za tím limit nemá být středník: ...AND heslo='".md5($_POST['heslo'])."' LIMIT 1");
ketys
Profil
Díky :)
Zajímavé je, že jsem použil get a šlo to, ted už to jde i přes post, což je bezpečnejší při prihlasovani admina, díky ;)
PHP_Nemaster
Profil
ketys:
Není zač. :)
A chybu to nehlásí, protože to není chyba PHP, ale SQL - je potřeba zobrazit mysql_error();

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