[php] znowu uwierzytelnianie

0

cześć, kiedyś juz to pisałem i skorzystałem ze wskazówki Speedego odnośnie uwierzytelniania, lecz nadal ni <ort>z tąd </ort>ni z owąd mam problem <ort>otóż </ort>nie pojawia sie żaden komunikat PHP o błędzie ale to co zrobiłem nadal nie dziala poprawnie , ciągle pojawia sie komunikat (rezultat końcowy zapytania) : "Nie zostałeś uwierzytelniony" ... ja już nie moge ... na pewno ktoś z was kiedyś to robił, bo to podstawa ... więc jeśli ma to, błagam o wklejenie rozwiązania...

Tak wygląda moje i nie działa :

<? if ((!$uzytkownik) || (!$haslo)) { header("Location: http://localhost/php_cw/uwierzytelnianie/show_login.html"); exit; } $db_name="uwierzytelnianie"; $table_name="uwierzytelnianie"; $connection=mysql_connect("localhost","root","krasnal"); $db=mysql_select_db($db_name, $connection); function mysql_count($table_name) { $result=mysql_query("SELECT COUNT(*) FROM $table_name"); while ($myrow = mysql_fetch_assoc($result)) { return $myrow["COUNT(*)"]; } } $num=mysql_count("$table_name WHERE uzytkownik='$uzytkownik' AND haslo=password('$haslo')"); if ($num!=0) { echo "

Gratulacje, zostales uwierzytelniony

"; } else { echo "Nie zostaleś uwierzytelniony"; exit; } ?>

No i gdzie tu błąd ? Wszystko wygląda na wypasior ;-(

//Nie umiesz czytać? Jak wół stoi przyklejony wątek "PREFIXy - piszcie [JS] lub lub [HTML]" - stosuj się do tego! - M

0

moze jestem niedouczony w php ale co znaczy wg ciebie :

if ((!$uzytkownik) || (!$haslo))

??
nie chodziło ci czasami o :

if (!isset($uzytkownik) || !isset($haslo)) 

?

// przecież to prawie to samo - ŁF

0

moze jestem niedouczony w php (...)
nie chodziło ci czasami o :

if (!isset($uzytkownik) || !isset($haslo)) 

?

Jednak jesteś niedouczony :) U Fox Móldera na samym początku jeśli nie ma loginu lub hasła następuje exit; Czyli rzekomy błąd jest tutaj:

if ($num!=0) {
echo "<p>Gratulacje, zostales uwierzytelniony</p>";
} else {
<b>echo "Nie zostaleś uwierzytelniony";</b>
exit;
}

Więc następuje już po sprawdzeniu... Logicznie rzecz ujmując, zamiast pisać:

$num=mysql_count("$table_name WHERE uzytkownik='$uzytkownik' AND haslo=password('$haslo')");

Trzeba napisać:

$num=mysql_count("$table_name WHERE uzytkownik='$uzytkownik' AND haslo='$haslo'");

Bo nie widziałem nic szczególnego wcześniej... Ale to tylko moja skromna sugestia ;-) Nawet sam nie sprawdzałem, tylko szybko spojrzałem...

1 użytkowników online, w tym zalogowanych: 0, gości: 1