Kezdőoldal » Számítástechnika » Weblapkészítés » Elkészítettem a regisztráció...

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?

Figyelt kérdés

$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>


2010. okt. 23. 13:40
1 2
 11/19 anonim ***** válasza:
Most vettem észre, hogy nem fejeztem be a gondolatom, szóval miután kettéválasztottad, a php feldolgozó legvégére (ugye, ha addig nem die-olt) egyszerűen kiíratnám echo-val, hogy sikeres regisztráció.
2010. okt. 23. 15:57
Hasznos számodra ez a válasz?
 12/19 A kérdező kommentje:

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

2010. okt. 23. 16:02
 13/19 anonim ***** válasza:

Mert ide nem raktál die-t, csináld így:

if ( $jelszo == $jelszo2 )

{

die("Nem egyezik a két jelszó");

}

2010. okt. 23. 16:03
Hasznos számodra ez a válasz?
 14/19 A kérdező kommentje:

É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 :)

2010. okt. 23. 16:15
 15/19 A kérdező kommentje:

ŐŐŐ 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

2010. okt. 23. 16:31
 16/19 anonim ***** válasza:

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)

2010. okt. 23. 16:41
Hasznos számodra ez a válasz?
 17/19 A kérdező kommentje:
Valamiért engedi így is a regisztrációt :s
2010. okt. 23. 17:23
 18/19 anonim ***** válasza:
if ($num > 0) ...
2012. ápr. 4. 00:36
Hasznos számodra ez a válasz?
 19/19 anonim ***** válasza:
ja bocs, login, azt hittem júzercsekk regnél
2012. ápr. 4. 00:38
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!