Elkészítettem a regisztráció és a bejelentkező részét, most már tökéletesítve, csak még mindig az adatbázissal van bajom. Mi lehet a baj?
$result = mysql_query (INSERT INTO regisztracio SET nev='$nev', jelszo='$jelszo', email='$email') ; ez miért nem jó? Ezzel kiegészítve a kódsort törli a 3 létrehozott mezőt és kettő névtelent hoz létre.
regisztracio.php
<?php
include ("config/config.php");
?>
<html>
<table border ="2">
<td>
<form action = "regisztracio.php" method = "POST">
Felhasználónév: <font color = "red">*</font><input type = "text" name = "felhasznalo">
<br>
Jelszó: <font color = "red">*</font><input type = "password" name = "jelszo">
<br>
Jelszó megerősítése: <font color = "red">*</font><input type = "password" name = "jelszo2">
<br>
Email: <font color = "red">*</font><input type = "text" name = "email">
<br>
<br>
<input type = "submit" name = "regisztralas" value = "Regisztráció">
</form>
<?php
$felhasznalo = mysql_real_escape_string($_POST['felhasznalo']);
$jelszo = mysql_real_escape_string($_POST['jelszo']);
$jelszo2 = mysql_real_escape_string($_POST['jelszo2']);
$email = mysql_real_escape_string($_POST['email']);
if ($felhasznalo == "")
{
echo "<b><center>Nem töltötted ki a felhasználónév mezőt!</b></center>";
die;
}
if ($jelszo == "")
{
echo "<b><center>Nem töltötted ki a jelszó mezőt!</b></center>";
die;
}
if ($jelszo2 == "")
{
echo "<b><center>Nem töltötted ki a jelszó megerősítése mezőt!</b></center>";
die;
}
if ($email == "")
{
echo "<b><center>Nem töltötted ki a email mezőt!</b></center>";
die;
}
if ( $jelszo == "$jelszo" )
{
echo "<b><center>A két jelszó nem egyezik!</b></center>";
}
?>
</td>
</table>
</html>
belep.php
<?php
include ("config/config.php");
?>
<html>
<table border = "2">
<td>
<form action = "belep.php" method = "POST">
Felhasználónév: <input type = "text" name = "felhasznalo">
<br>
Jelszó: <input type = "password" name = "jelszo">
<br>
<br>
<input type = "submit" name = "belepes" value = "Belépés">
</form>
<?php
$felhasznalo = mysql_real_escape_string($_POST['felhasznalo']);
$jelszo = mysql_real_escape_string($_POST['jelszo']);
if ($felhasznalo == "")
{
echo "<b><center>Nem töltötted ki a felhasználónév mezőt!</b></center>";
die;
}
if ($jelszo == "")
{
echo "<b><center>Nem töltötted ki a jelszó mezőt!</b></center>";
die;
}
?>
</td>
</table>
</html>
Igen igen ezt akartam most írni ezt megoldottam :)
A php programozás legaljára beraktam ezt:
$result = mysql_query ("INSERT INTO regisztracio SET felhasznalo='$felhasznalo', jelszo='$jelszo', email='$email'") or die(mysql_error());
És máris jó minden :)
De azt az egyet nem értem még meg, ha kitöltöm a regisztrációs űrlapot mondjuk más jelszót írunk a jelszó megerősítőbe akkor is bekerül az adatbázisba az első jelszóval :S
Mert ide nem raktál die-t, csináld így:
if ( $jelszo == $jelszo2 )
{
die("Nem egyezik a két jelszó");
}
Értem és amúgy a die az mit csinál?
Az valami olyan parancs, hogy ha nem teljesül az állítás akkor nem fut végig a parancs?
Meg adatbázishoz kellene olyan kódrészlet nekem ami kiírja azt a regisztrációnál ha:
Van már olyan felhasználónév vagy email akkor nem regisztrálja a felhasználót :)
ŐŐŐ meg a login résznél van egy kis baj
$query = mysql_query("SELECT * FROM regisztracio WHERE felhasznalo='$felhasznalo',jelszo='$jelszo'");
$num = mysql_num_rows($query);
if( $num == 1)
echo "beléphetsz, privát terület...";
else
echo "belépés megtagadva";
erre ezt a hibát írja:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/storage1/virtual/webword.eu/htdocs/ecdl/belep.php on line 34
belépés megtagadva
A die az azt jelenti, hogy annál a pontnál megáll a program futása, a legegyszerűbb, de nem a legjobb módszer a vizsgálatra.
Ahhoz, ha van ugyanolyan, ugyanúgy a mysql_num_rows-t kell használni, pl. a névre (ez alapján az email-t meg tudod csinálni)
$query = mysql_query("SELECT * FROM regisztracio WHERE felhasznalo='$felhasznalo'");
$num=mysql_num_rows($query);
if(num==1)
die("ilyen felhasználó már van");
else
//regisztráció folytatása
2. oda nem vessző kell, hanem AND így:
mysql_query("SELECT * FROM regisztracio WHERE felhasznalo='$felhasznalo' AND jelszo='$jelszo'");
(a többi maradhat úgy, ahogy van)
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!