Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem
Forum PHP.pl > Forum > Przedszkole
funky_beat
Witam,

Kolejny problem dotyczy logowania.

Stworzylem taki skrypt:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<title>Witaj na stronie SGM</title>
</head>
<body>

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);


include ('naglowek.inc');

ob_start();
require_once('baza.php'); // załaczamy plik baza.php

function usun($data){

GLOBAL $dbc;
if (ini_get('magic_quotes_gpc')){
$data = stripslashes($data);
}
return mysql_real_escape_string($data, $dbc);
}
if (isset($_POST['submit'])){

if (empty($_POST['Login'])){
$message .= '<font class="blad" color="red">Nie podałeś loginu</font><br />';
$l = FALSE;
}else{
$l = usun($_POST['Login']);
}

if (empty($_POST['Haslo'])){
$message .= '<font class="blad" color="red">Nie podałeś hasła</font><br />';
$p = FALSE;
}else{
$p = usun($_POST['Haslo']);
}
if ( $l && $p ){

$query = "SELECT 'Login', 'Imie' FROM 'pracownicy' WHERE 'Login'='$l' AND 'Haslo'=PASSWORD('$p')";
$result = mysql_query($query);

echo $query.'<br/>';
echo mysql_error();

$row = mysql_fetch_array ($result, MYSQL_ASSOC);
if($row){
session_start();
$_SESSION['Login'] = $row['0'];
$_SESSION['Imie'] = $row['1'];
$_POST['cmd'] = 'ok';
header ("Location: ind.php?cmd={$_POST['cmd']}"); // przekierowuje nas na jaka strone chcemy
}else{




$message .= '<font class="blad" color="red">Błędne hasło lub login</font><br />';
}

mysql_close();
}else{
$message .= '<font class="blad">Spróbuj jeszcze raz</font>';
}
}
ob_end_flush();


//mysql_error()
//mysql_num_rows()

?>



<div style="text-align: center;">Logowanie do SGM<br /><br /><br />
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">

<fieldset>

<legend align="bottom">Podaj swój Login Pracownika i Hasło</legend>

<p><b>Login:</b> <input type="text" name="Login" size="20" maxlength="20" value="<?php if (isset($_POST['Login'])) echo $_POST['Login']; ?>" /></p>

<p><b>Haslo:</b> <input type="password" name="Haslo" size="20" maxlength="10" /></p>

</fieldset>

<br /><input name="submit" value="Zaloguj" type="submit" />

</div>
<br />
</form>


<div align="center">
<? if(isset($message)){
echo $message;
}
?>
</div>


<?php
include ('stopka.inc');

?>
</body>
</html>






Przy próbie logowania wyskakuje mi błąd:



SELECT 'Login', 'Imie' FROM 'pracownicy' WHERE 'Login'='111' AND 'Haslo'=PASSWORD('222')
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''pracownicy' WHERE 'Login'='111' AND 'Haslo'=PASSWORD('222')' a Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apache2\htdocs\www\logon1.php on line 51 Notice: Undefined variable: message in C:\apache2\htdocs\www\logon1.php on line 63




Prosze o pomoc juz dwa tygodnie z tym walcze i nic sad.gif
c0cr0ach
Przecież wszystko masz pięknie napisane. Błąd w zapytaniu. Czytałeś w ogóle manuala? Twoje zapytanie powinno wyglądać tak:

  1. <?php
  2. $query = "SELECT Login, Imie FROM `pracownicy` WHERE Login='" . $l . "' AND Haslo=PASSWORD('" . $p . "')";
  3. ?>


Poza tym dodajesz wartości do zmiennej, która nie została wcześniej zadeklarowana (kropki po $message).
kwiateusz
Proszę o zapoznanie się z tematem: Temat: Tematyka i zasady panujące na forum Przedszkole a następnie czekam na PW z poprawnym tagiem.

Do tego post należy po otwarciu uzupełnić o BBCode.

Do tego czasu temat pozostanie zamknięty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.