Egy veboldalamhoz készitettem egy regisztrácios szkriptett, csak az a gond hogy nem müködik, a másik gond hogy nem ir ki semmi hiba üzenetett. Tudnátok ebben segitenni mi lenne a hiba?
<?php
$servername = "*******";
$username = "*******";
$password = "********";
$dbname = "**********";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("hiba a kapcsolodásban: " . $conn->connect_error);
}
echo "sikeres kapcsolodás";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
if (isset($_POST['regisztracio']))
{
if (reg_check($_POST) == "rendben")
{
$sql = "INSERT INTO userek (ID,USERNAME,EMAIL,PASWORD) ";
$sql.= "VALUES('','".$_POST['USERNAME']."','";
$sql.= md5($_POST['PASWORD'])."','".$_POST['EMAIL']."')";
$query = mysql_query($sql) or die ("Valami baj van az adatbázissal.");
print "sikeres regisztráció!";
print "\"index.php\">tovább";
}
else
{
print reg_check($_POST);
}
}
function reg_check($adatok){
if($adatok['USERNAME'] == "" | $adatok['EMAIL'] == "" | $adatok['PASWORD'] == "")
{
return "Minden mező kitöltése kötelező";
break;
}
elseif(!ereg('^[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]+$', $adatok['USERNAME' ]))
{
return "A nickben csak a magyar ábécé kis - és nagybetűi, a számok, illetve a _ és - jelek engedélyezettek";
break;
}
elseif($adatok['EMAIL'] == (!eregi("^[_\.0-9a-z-]+@
([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$adatok['EMAIL'])))
{
return "Hibás e - mail cím!";
break;
}
elseif(mysql_num_rows(mysql_query("SELECT USERNAME FROM userek WHERE (USERNAME='".$adatok['USERNAME']."')")) > 0)
{
return "Már regisztráltak ezzel a nickkel";
break;
}
elseif($adatok['PASWORD'] !== $adatok['PASWORD'])
{
return "A két jelszó nem egyezik";
break;
}
else
{
return "rendben";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>regisztrácio</title>
</head>
<body bgcolor="lightblue">
<center>
<div id = "table" >
<table border="2">
<tr>
<td>
<p>
<font color="red">REGISZTRÁCIÓ:
<form method="post" action="index.html">
<font color="orange">Email:<br> <input type="text" name="EMAIL" value=""><br> </font>
<font color="darkpink">Felhasználónév:<br><input type="text" name="USERNAME" value=""><br></font>
<font color="brown">Jelszó:<br><input type="text" name="PASWORD" value=""><br> </font>
<br>
<input type="submit" name="submit" value="Regisztralok">
<br>
</form>
</p>
</tr>
</td>
</table>
</div>
</center>
</body>
</html>
"$conn = new mysqli($servername, $username, $password);"
---
"mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);"
Döntsd már el, hogy sima mysql-t vagy mysqli-t használsz! Nagyon ajánlom, hogy használj mysqli-t, mivel sima mysql függvények már nem támogatottak.
------
"md5($_POST['PASWORD'])."','".$_POST['EMAIL']."')"; "
Az md5 régi, rossz és törik zúzzák. Használj sha-512-t
------
"elseif(!ereg('^[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]+$',$adatok['USERNAME' ]))"
Az ereg függvények (vagyis POSIX regular expression) szintén nem támogatottak, akár csak a mysql függvények. Használj preg (PCRE regular expression) függvényeket.
------
"nem ir ki semmi hiba üzenetett."
A kód első két sora legyen ez:
ini_set("display_errors", "1");
error_reporting(E_ALL);
így biztosan mindent ki fog írni.
------
"veboldalamhoz", nincs hozzáfűznivalóm.
Azért a HTML-kódot se hagyjuk szó nélkül:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
A HTML 3.2 elavult.
Helyette HTML 4.01, XHTML, vagy HTML 5 használata a javallott.
<body bgcolor="lightblue">
<center>
<font color="red">
Ugyancsak elavult formázási metódusok. HElyette javaslom a CSS használatát.
<table border="2">
Itt a táblázat nem táblázatos adatok tárolását végzi - mint amire való lenne, hanem az oldalszerkezet kialakítását. Ellenjavallt.
Nagy +1 az előzöeknek.
Ez elég nagy katyvasz. Nem Ctrl+C, Ctrl+V-vel kell programozni. Megértetted te, hogy pl. ez a sor mit csinál?
$conn = new mysqli($servername, $username, $password);
Mert nagyon úgy tűnik, hogy nem. "PASWORD", "veboldal", ha nem tudsz angolul, ne használj angol szavakat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!