Na PHP i MySQL znam się już na tyle, aby zrobić własny projekt bez zaglądania do książek..., ale teraz mam problem i nawet ona mi w tym nie pomoże.
Wykonałem następujący kod logowania na stronie oparty na bazie MySQL:
// plik "katija.php"
<?php
mysql_connect("127.0.0.1", "root", "krasnal") or
die ("Nie uzyskano dostępu do bazy."); if (!isset($_SESSION['autoryzacja'])) $_SESSION['autoryzacja'] = 'false'; if ($_GET['logout'] == 'sayonara') $_SESSION['autoryzacja'] = 'false';
// zmienne
$x = 100; //szerokosc lewej komorki
$y = 650; //szerokosc prawej komorki
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" type="text/css" href="styl.css">
</head>
<body>
<table width="750px" align="center">
<tbody>
<tr>
<td width="'.$x.'px" align="center" valign="top">
'); if ($_SESSION['autoryzacja'] == 'true') include('menu.php');
else
echo('<a href="katija.php?konto=new">Nowe konto.</a>'); echo(' </td>
<td width="'.$y.'px" align="center" valign="top">
'); if ($_GET['konto'] == 'new') include('konto.php');
else
if ($_SESSION['autoryzacja'] == 'true')
{
if (isset($_GET['move'])) $move=$_GET['move']; else $move=$allow[0
]; if (isset($_POST['move'])) $move=$_POST['move']; if (strpos($move,'.')!==false) $move=$allow[0
]; else $move='html/'.$move.'.htm';
else echo('Nie znaleziono pliku.'); }
else include('login.php'); echo(' </td>
</tr>
</tbody>
</table>
</body>
</html>');
?>
Plus jeszcze jeden potrzebny do tego plik:
// plik "login.php"
<?php
if (isset($_POST['login'])) {
$query='SELECT * FROM users ORDER BY login DESC';
{
if (($_POST['login'] == $search['login']) && ($_POST['passwd'] == $search['passwd']))
{
$_SESSION['user_id'] = $search['id'];
$_SESSION['user_login'] = $search['login'];
$_SESSION['user_passwd'] = $search['passwd'];
$_SESSION['autoryzacja'] = 'true';
}
}
}
<form action="katija.php" method="POST">
<table>
<tbody>
<tr>
<td>
Login:
</td>
<td>
<input size="12" name="login" value="">
</td
</tr>
<tr>
<td>
Passwd:
</td>
<td>
<input size="12" type="password" name="passwd" value="">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" value="Active">
</td>
</tr>
</tbody>
</table>
</form>');
?>
A oto sedno sprawy, przy logowaniu jakimkolwiek loginem, potrzebuje to wykonać 2x zanim zostanę zalogowany. Brak błędów przy logowaniu. Prosze o pomoc...