| Autor | Zpráva | ||
|---|---|---|---|
| kuzmic Profil * |
#1 · Zasláno: 25. 11. 2009, 00:40:56
Dobrý večer,
chtěl bych Vás poprosit, jestli by jste neporadili co dělám ve skriptu špatně aby mi fungovalo přihlášení uživatelů. V této chvíli mi to při jakékem koli jméno a heslu pustí na stránku, kam by se měl dostat, pouze pokud jméno a heslo odpovídá jménu a heslu z databáze. Když odstraním to isset tak to sice už reaguje na jméno a heslo, ale pouze na posledního uživatele v databázi, ty předchozí to vůbec nebere. Předem díky za radu.
<?php
include "connect.php";
include "head.php";
//include "menu.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Lékárna</title>
<link rel="stylesheet" type="text/css" href="css/styl.css" />
</head>
<body>
<?php
session_start();
$_SESSION['rovnase']='ne';
$sql=mysql_query("SELECT jmeno,prijmeni FROM zamestnanec ");
while($row = mysql_fetch_array($sql))
{
if((isset($_POST['heslo'])==$row['jmeno']) and (isset($_POST['heslo'])==$row['prijmeni']))
{
$_SESSION['rovnase']='ano';
header("location: uvod.php");
}
else
{
$_SESSION['rovnase']='ne';
}
}
if((empty($_POST['jmeno']) or (empty($_POST['heslo']))))
{
echo "<div id='error'>Zadejte jméno a heslo</div>";
}
elseif($_SESSION['rovnase']=='ne')
{
echo "<div id='error'>někde je chyba</div>";
}
?>
<div id="login"><img src="img/login.jpg"></div>
<div id="login_tabulka">
<form action="" method="post">
<table>
<tr>
<td>Jméno:</td><td><input type="text" name="jmeno" ></td>
</tr>
<tr>
<td>Heslo:</td><td><input type="password" name="heslo" ></td>
</tr>
</table>
<input type="submit" value="Přihlásit">
</form>
</div>
</body>
</html>
|
||
| PetrM Profil * |
#2 · Zasláno: 25. 11. 2009, 00:47:05
Možná by neškodilo do SQL dotazu upřesnit (podle odeslaných údajů), kterého uživatele chcete přihlásit a porovnat jeho údaje s odeslanými.
|
||
| kuzmic Profil * |
#3 · Zasláno: 25. 11. 2009, 01:11:34
provedl jsem to tedy takto:
<?php
include "connect.php";
include "head.php";
//include "menu.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Lékárna</title>
<link rel="stylesheet" type="text/css" href="css/styl.css" />
</head>
<body>
<?php
session_start();
$_SESSION['rovnase']='ne';
if(isset($_POST['jmeno'])) $jmeno = $_POST['jmeno'];
if(isset($_POST['heslo'])) $heslo = $_POST['heslo'];
$sql=mysql_query("SELECT * FROM zamestnanec WHERE jmeno='$jmeno' and prijmeni='$heslo'");
while($row = mysql_fetch_array($sql))
{
if((($_POST['jmeno'])==$row['jmeno']) and (($_POST['heslo'])==$row['prijmeni']))
{
$_SESSION['rovnase']='ano';
//echo "ano";
header("location: uvod.php");
}
else
{
$_SESSION['rovnase']='ne';
}
}
if((empty($_POST['jmeno']) or (empty($_POST['heslo']))))
{
echo "<div id='error'>Zadejte jméno a heslo</div>";
//header("location: index1.php");
}
elseif($_SESSION['rovnase']=='ne')
{
echo "<div id='error'>někde je chyba</div>";
}
?>
<div id="login"><img src="img/login.jpg"></div>
<div id="login_tabulka">
<form action="" method="post">
<table>
<tr>
<td>Jméno:</td><td><input type="text" name="jmeno" ></td>
</tr>
<tr>
<td>Heslo:</td><td><input type="password" name="heslo" ></td>
</tr>
</table>
<input type="submit" value="Přihlásit">
<p>Jméno: admin</br>Heslo: test</p>
</form>
</div>
</body>
</html>
ted už to vypadá že to pracuje dobře, akorát to na začátku píše: Notice: Undefined variable: jmeno Notice: Undefined variable: heslo Pokusil jsem se to vyřešit pomocí if(isset($_POST['jmeno'])) $jmeno = $_POST['jmeno']; if(isset($_POST['heslo'])) $heslo = $_POST['heslo']; Ale nepomohlo to, hláška je tam stále |
||
| Jan Tvrdík Profil |
#4 · Zasláno: 25. 11. 2009, 07:04:10
if(isset($_POST['jmeno'])) $jmeno = $_POST['jmeno']; else $jmeno = NULL; if(isset($_POST['heslo'])) $heslo = $_POST['heslo']; else $heslo = NULL; |
||
| radas Profil * |
#5 · Zasláno: 25. 11. 2009, 07:38:39
osobně bych vůbec neprovaděl dotaz pokud jsou post data prázdna..schoval bych to do této podmínky
if((!empty($_POST['jmeno']) and (!empty($_POST['heslo']))))
{
// tu bych dal přihlašovací proces
}
|
||
| kuzmic Profil * |
#6 · Zasláno: 25. 11. 2009, 12:46:39
Děkuju, už to jede jak má.
|
||
|
Časová prodleva: 16 let
|
|||
0