<? function ile_rekordow($tabela, $pole, $wartosc, $pole2 = 0, $wartosc2 = 0, $inne = 0){ //pobiera nazwę tabeli, pole nr 1 do sprawdzenia, wartosc dla pola nr 1, pole nr 2, wartosc dla pola nr2, i parametr "inne" include("/../config.php"); if($pole2 == 0 && $wartosc2 == 0 && $inne == 0){ //jeśli podane zostały tylko `tabela`, pole i 'wartosc' dla pola return $miejsce; exit; } if($pole2 != 0 && $wartosc2 != 0 && $inne == 0){ //jeśli podane są wszystkie pola prócz "inne" $miejsce = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM $tabela WHERE $pole = '$wartosc' AND $pole2 = '$wartosc2'")); return $miejsce; exit; } if($pole2 !=0 && $wartosc2 != 0 && $inne == 1){ //jeśli wszystkie pola, a inne ma wartość 1 $miejsce = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM $tabela WHERE $pole = '$wartosc' AND $pole2 != '$wartosc2'")); //!= przy drugim sprawdzerniu return $miejsce; exit; } } ?>
Niestety funkcja nie działa. Próbuję ją wykorzystać między innymi w taki sposób:
$ist_user_haslo = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo); $ist_user = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo, 1); if($ist_user[0] == 1) { $status="wrong_password"; alert('Logowanie nieudane.<br> Sprawdź pisownię nicku oraz hasła.'); logi($login, $status); exit; } if ($ist_user_haslo[0] == 0) { $status="user_doesnt_exist"; alert('Logowanie nieudane.<br> Nie ma takiego użytkownika.'); logi($login, $status); exit; } if($ist_user_haslo[0] == 1){ $status="logged"; logi($login, $status);
Proszę o wskazanie moich błędów.