Kezdőoldal » Számítástechnika » Weblapkészítés » Egy veboldalamhoz készitettem...

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?

Figyelt kérdés

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



2014. okt. 27. 21:50
 1/3 uno20001 ***** válasza:
100%

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


[link]

------


"md5($_POST['PASWORD'])."','".$_POST['EMAIL']."')"; "

Az md5 régi, rossz és törik zúzzák. Használj sha-512-t


[link]

------


"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.


[link]

------


"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.

2014. okt. 27. 22:46
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
76%

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.

[link]


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

[link]

2014. okt. 27. 23:06
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

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.

2014. okt. 28. 10:11
Hasznos számodra ez a válasz?

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!