Witam
Zaczynam pracę nad własnym prościutkim cms'em.
Robię logowanie w następujący sposób:
1. Formularz w którym podaję dane (
login_form.php):
<?php
<form name=\"login_form\" action=\"login_check.php\" method=\"post\">
<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" align=\"center\" bgcolor=\"#527aa0\">
<tr>
<td id=\"wybor\">
<font size=\"2\">
<img src=\"ikony/b_search.png\" alt=\"\">   <b>Login:</b>
</font>
</td>
<td id=\"login\">
<font size=\"2\">
<input type=\"text\" size=\"20\" name=\"login\" value=\"login\"></input>
</font>
</td>
</tr>
<tr>
<td id=\"wybor\">
<font size=\"2\">
<img src=\"ikony/b_search.png\" alt=\"\">   <b>Password:</b>
</font>
</td>
<td id=\"login\">
<font size=\"2\">
<input type=\"password\" size=\"20\" name=\"pass\" value=\"pass\"></input>
</font>
</td>
</tr>
</table>
<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" align=\"center\" bgcolor=\"#527aa0\">
<td id=\"zatwierdz\">
<input type=\"submit\" name=\"zaloguj\" value=\"zaloguj\">
<input type=\"reset\" name=\"wyczyść\" value=\"wyczyść\">
<font size=\"2\">
</font>
</td>
</tr>
</table>
</form>
?>
2. Następnie przesyłam te dane do pliku sprawdzającego ich poprawność na podstawie wpisów w bazie MySQL (
login_check.php):
<?php
/* uproszczone logowanie */
$login = $_POST['login'];
$pass = $_POST['pass'];
$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_pass = '';
$mysql_db = 'intranet';
@ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or
die('Nie można połączyć z serwerem MySQL'); $zapytanie = \"SELECT login, pass FROM admin_users WHERE id = '1'\";
$admin = \"$row[1]\";
$admin_pass = \"$row[2]\";
if($_POST['login'] == $admin && $_POST['pass'] == $admin_pass){
$admin = $_POST['login'];
$_SESSION['login'] = $admin;
$admin_pass = $_POST['pass'];
$_SESSION['pass'] = $admin_pass;
print \"<font size='2'><b>Logowanie przebiegło pomyślnie !</b></font><br />\"; echo \"<font size='2'>Kliknij <A HREF=\"index.php?\"; echo \"\"><b>tutaj</b></a> aby przejść dalej</font>\"; footer();
}
elseif($_POST['login'] != $admin && $_POST['pass'] != $admin_pass){
$admin = $_POST['login'];
$_SESSION['login'] = $admin;
$admin_pass = $_POST['pass'];
$_SESSION['pass'] = $admin_pass;
print \"<font size='2'><b>Logowanie nie powiodło się !</b></font><br />\"; }
?>
3. Problem jest o tyle ciekawy, że jeśli pobieram dane z bazy MySQL logowanie nie udaje się.
<?php
@ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or
die('Nie można połączyć z serwerem MySQL'); $zapytanie = \"SELECT login, pass FROM admin_users WHERE id = '1'\";
$admin = \"$row[1]\";
$admin_pass = \"$row[2]\";
?>
Ale jeśli zadeklaruję nazwę usera i hasło w pliku na sztywno, czyli naprzykład:
<?php
/*
@ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Nie można połączyć z serwerem MySQL');
$get_db = mysql_select_db($mysql_db);
$zapytanie = \"SELECT login, pass FROM admin_users WHERE id = '1'\";
$row = mysql_fetch_row($zapytanie);
*/
$admin = 'user_1';
$admin_pass = 'pass_1';
?>
Wówczas loguję się bez problemu :|
Proszę o pomoc
Początkujący PHP'owicz....