Autor Zpráva
aa
Profil *
Zdravím,
před časem jsem si dělal malou administraci, a nyní jsem ji chtěl trochu
oprášit a vylepšit, ale setkal jsem se na úvod s problémem, který mi neleze do
hlavy...

takhle si přidávám nové uživatele do db:
$zapis = mysql_query("INSERT INTO adm_login VALUES ('0',
'".$_POST['uz_jmeno']."', '".md5($_POST['uz_heslo'])."')");


Zápis proběhne v pořádku, když se podívám přes phpmysqladmina na to, co ss do db
uložilo, vidím právně zakódované heslo.

takhle se přihlašuji:
<?php
session_start();

include ('pripojeni.php');
if (isset($_POST['odeslat'])){

if (!$_POST['jmeno'] || !$_POST['heslo']) {
echo '<b>Zadejte své přihlašovací jméno a heslo!</b>'.'<br /><br
/>';
}
else {
$sql = mysql_query("SELECT * FROM adm_login WHERE uz_jmeno =
'".$_POST['jmeno']."' AND uz_heslo = '".md5($_POST['heslo'])."'");
$zaznam = mysql_num_rows($sql);

if($zaznam == '1'){
$_SESSION['prihlasen'] = "ano";
Header("Location: index.php");
}
else {
echo '<b>Zadejte správné přihlašovací jméno a heslo!</b>'.'<br
/><br />';
}
}
}
?>



A i po zadání správných údajů se nepřihlásím.... ve zdrojáku chybu nikde
nevidím... ale možná jsem slepý:O)

Nevíte v čem by mohl být problém?

Předem děkuji za vaše reakce
Joker
Profil
aa
Při takovémhle problému je nejúčinnější řešení si nechat vypsat SQL dotaz, který se posílá do databáze. Pak je chyba často vidět na první pohled. Pokud ne, tak zkopírovat ten dotaz, pustit ho ve správci databáze a koukat, co to vybere.

A jako obvykle poznámka: SELECT * je fuj. Dvojnásob v případě, kdy vlastně žádná data vybírat nepotřebujete.
aa
Profil *
Joker
tak jsem na to prisel - nastavil jsem si pocet znaku, ktere se u hesla ulozi do databaze - jesnomze jsem zapomnel vzit v potaz to, ze pri hashovani pomoci MD5 logaritmu se retezec zakoduje na retezec o 32 pismenech...

a ja mel ve sloupci pro heslo povoleno pouze 15 znaku...

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: