Hogyan lehet ezeket a hibákat úgy kijavítani, hogy azok megfelelően működjenek a programfutása idején?
Próbálkoztam regisztrációs részt írni bejelentkező résszel, de nem rendelkezek kellő tudással ezért nem működnek funkciók.
Ami gond, hogy ha a két jelszó nem egyezik akkor is enged regisztrálni a másik, hogy a jelszót kódolni szeretném mert az adatbázisban azt is kiírja.
regisztracio.php így néz ki:
<?php
include "bealitas.php";
?>
<html>
<title></title>
<body bgcolor="Gray">
<table border="1">
<td>
<form action="" method="POST">
Felhasználónév:<font color="red">*</font> <center><input type="text" name="nev" /></center>
Jelszó:<font color="red">*</font> <center><input type="password" name="jelszo" /></center>
Jelszó megerősítése:<font color="red">*</font> <center><input type="password" name="jelszo2" /></center>
Email:<font color="red">*</font> <center><input type="text" name="email" /></center>
<font color="red">*</font> mező kitöltése kötelező!
<center><input type="submit" value="Regisztrálás" /></center>
</td>
</table>
</body>
</html>
<?php
$nev = mysql_real_escape_string($_POST['nev']);
$jelszo = mysql_real_escape_string($_POST['jelszo']);
$jelszo2 = mysql_real_escape_string($_POST['jelszo2']);
$email = mysql_real_escape_string($_POST['email']);
if ( $nev == "" )
{
echo "Töltsd ki a név mezőt!<br>";
die;
}
if ( $jelszo == "" )
{
echo "Töltsd ki a jelszó mezőt!<br>";
die;
}
if ( $jelszo2 == "" )
{
echo "Töltsd ki a jelszó megerősítő mezőt!<br>";
die;
}
if ( $jelszo ==! $jelszo2 )
{
echo "A két jelszó nem egyezik!<br>";
die;
}
if ( $email == "" )
{
echo "Töltsd ki az email mezőt!<br>";
die;
}
$result = mysql_query("INSERT INTO regisztralas SET nev='$nev', jelszo='$jelszo', email='$email'");
if ( $result )
{
echo "<b>Sikeres regisztráció! :)</b>";
}
else
{
echo "<b>Sikertelen regisztráció! :(</b>";
}
?>
A belépés részem így néz ki jelenleg nem tudom hogy lehetne beléptetni a felhasználót és hogy az oldal frissítése után is bennmaradjon max ha x ideig nem frissíti akkor lépne ki ahogy a normális oldalakon van :)
lemaradt belepes.php így néz ki:
<?php
include "bealitas.php";
?>
<html>
<title>Belépés</title>
<body bgcolor="Gray">
<table border="1">
<td>
<form action="" method="POST">
Felhasználónév: <center><input type="text" name="nev" /></center>
Jelszó: <center><input type="password" name="jelszo" /></center>
<center><input type="submit" value="Belépés" /></center>
</td>
</table>
</body>
</html>
<?php
$nev = mysql_real_escape_string($_POST['nev']);
$jelszo = mysql_real_escape_string($_POST['jelszo']);
$jelszo2 = mysql_real_escape_string($_POST['jelszo2']);
$email = mysql_real_escape_string($_POST['email']);
if ( $nev == "" )
{
echo "Töltsd ki a név mezőt!<br>";
die;
}
if ( $jelszo == "" )
{
echo "Töltsd ki a jelszó mezőt!<br>";
die;
}
?>
Ilyen operátor nincs: ==!
Teneked a != kéne.
A jelszó kódolása tényleg jó ötlet:
Belépéskor az adatbázissal hasonlítsd össze a beírt jelszó md5-jét.
Azt, hogy bent maradjon a felhasználó session-nal oldd meg:
Tárold a nevét egy session-ban, azt ellenőrzöd, hogy létezik-e, ha igen, akkor be van jelentkezve.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!