Kezdőoldal » Számítástechnika » Weblapkészítés » Mi a hiba a PHP kódomban?

Mi a hiba a PHP kódomban?

Figyelt kérdés

Egy Regisztrációs oldalt szeretnék készíteni, de hiba lépett fel és nem látom hol van a probléma!


A probléma: Kiírja, hogy nincs megadva e-mail cím!


php kód:


<?php

if(isset($_POST["form_submit"])) {


$username = $_POST["username"];

$password1 = $_POST["password1"];

$password2 = $_POST["password2"];

$email1 = $_POST["email1"];

$email2 = $_POST["email2"];

$username_regex = '/^[a-z0-9\_\-\.]{3,10}$/';

$email_regex = '/^([A-z0-9\_\.\-]+)@([a-z0-9\_\-\.]+).([a-z]{2,})$/';


$j_nick = $_POST["j_nick"];

$j_age = $_POST["j_age"];

$j_class = $_POST["j_class"];

$j_time = $_POST["j_time"];

$j_time_day = $_POST["j_time_day"];


$error_data = false;

$error_avatar = false;


if(!$username) {

echo "<div class='message error'>Nincs megadva felhasználónév!</div>";

$error_data = true;

} elseif(strlen($username)<=2) {

echo "<div class='message error'>A felhasználónév túl rövid!</div>";

$error_data = true;

} elseif(!preg_match($username_regex, $username)) {

echo "<div class='message error'>A felhasználónév nem tartalmazhat nagybetűt / specális karaktert!</div>";

$error_data = true;

} else {

$sql = @ new mysqli("mysql11.000webhost.com","a5622587_s","geszit605","a5622587_s");

if($sql->connect_errno) {

echo "<div class='message error'>Adatbázis hiba: ", $sql->connect_errno." ".$sql->connect_error;

exit();

}

$username = strip_tags($username);

$username = addcslashes($username, "%'=`");

$query = "SELECT `user_username` FROM `user` WHERE `user_username` = '".$username."'";

$result = $sql->query($query) or die("Hiba!");

if($result->num_rows>0) {

echo "<div class='message error'>A felhasználónév foglalt!</div>";

$error_data = true;

}

$sql->close();

}


if($password1) {

if($password1!=$password2) {

echo "<div class='message error'>A két jelszó nem egyezik!</div>";

$error_data = true;

} elseif(strlen($password1)<=3) {

echo "<div class='message error'>A jelszó legalább 4 karakter kell, hogy legyen!</div>";

}

} else {

echo "<div class='message error'>Nincs megadva jelszó!</div>";

$error_data = true;

}


if($email1) {

if($email1!=$email2) {

echo "<div class='message error'>A két e-mail cím nem egyezik!</div>";

$error_data = true;

} elseif(!preg_match($email_regex, $email1)) {

echo "<div class='message error'>Az e-mail cím nem megfelelő formátumú!</div>";

$error_data = true;

} else {

$sql = @ new mysqli("mysql11.000webhost.com","a5622587_s","geszit605","a5622587_s");

if($sql->connect_errno) {

echo "<div class='message error'>Adatbázis hiba: ", $sql->connect_errno." ".$sql->connect_error;

exit();

}

$query = "SELECT `user_email` FROM `user` WHERE `user_email` = '".$email1."'";

$result = $sql->query($query) or die("Hiba!");

if($result->num_rows>0) {

echo "<div class='message error'>Ezzel az e-mail címmel már regisztráltak!</div>";

$error_data = true;

}

}

} else {

echo "<div class='message error'>Nincs megadva e-mail cím!</div>";

$error_data = true;

}



}

if($error_data==false && $error_avatar==false) {

echo "<div class='message notice'>Sikeres regisztráció!</div>";

$sql = @ new mysqli("mysql11.000webhost.com","a5622587_s","geszit605","a5622587_s");

if($sql->connect_errno) {

echo "<div class='message error'>Adatbázis hiba: ", $sql->connect_errno." ".$sql->connect_error;

exit();

}

$query = "INSERT INTO `user` (`user_username`,`user_email`,`user_password`,`user_nick`,`user_born`,`user_weapons`,`user_time`,`user_time_day`) VALUES ('".$username."', '".$email1."', '".sha1($password1)."', '".$j_nick."', '".$j_age."', '".$j_class."', '".$j_time."', '".$j_time_day."')";

$sql->query($query) or die("Hiba!");

}


if(!isset($_POST["form_submit"]) || $error_data || $error_avatar) {

?>

<!--űrlap tartalma-->

<?php } ?>


Válaszokat előre is köszönöm!



2014. jún. 23. 21:40
1 2
 1/15 A kérdező kommentje:

1 - 2 dolog:


van benne pár "avatar" feltöltés részlet, de az lényegtelen!

az adatbázis egy régi nemműködő tesztoldal adatai, ami már nem működik, az általam használt kódban természetesen azzal nincs probléma!

2014. jún. 23. 21:45
 2/15 anonim ***** válasza:
Van a formban email1 nevű mező?
2014. jún. 23. 21:45
Hasznos számodra ez a válasz?
 3/15 Tengor ***** válasza:
$query = "SELECT `user_username` FROM `user` WHERE `user_username` = '".$username."'"; << ez és az ehhez hasonló script tákolások elég súlyos hiba. Hogy futás közben mi a hibád, azt nézd meg a logokból!
2014. jún. 23. 21:46
Hasznos számodra ez a válasz?
 4/15 A kérdező kommentje:

<form align="center" method="POST">

<fieldset>



<table>

<tr>

<td>

Neved:

</td>

<td>

<input type="text" name="username""/>

</td>

</tr>


<tr>

<td>

Jelszavad:

</td>

<td>

<input type="password" name="password1" />

</td>

</tr>


<tr>

<td>

Jelszavad Újra:

</td>

<td>

<input type="password" name="password2" />

</td>

</tr>


<tr>

<td>

E - Mail:

</td>

<td>

<input type="text" name="email2" />

</td>

</tr>


<tr>

<td>

E - Mail Újra:

</td>

<td>

<input type="text" name="email2" />

</td>

</tr>

</table>

<hr style="width: 500px;">

<table>

<tr>

<td>

Nick Neved:

</td>

<td>

<input type="text" name="nick" />

</td>

</tr>


<tr>

<td>

korod:

</td>

<td>

<input type="text" name="j_age" />

</td>

</tr>


<tr>

<td>

class:

</td>

<td>

<input type="text" name="j_class" />

</td>

</tr>


<tr>

<td>

idő:

</td>

<td>

<input type="text" name="j_time" />

</td>

</tr>


<tr>

<td>

idő/nap:

</td>

<td>

<input type="text" name="j_time_day" />

</td>

</tr>

</table>

<br>

<input type="submit" value="Elküldés" name="form_submit" />

</fieldset>

</form>

2014. jún. 23. 21:53
 5/15 anonim ***** válasza:
Két email2 meződ van, és egy email1 meződ sincs. Ez a hiba.
2014. jún. 23. 21:54
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:

Úram atyám... ezt nem vettem észre?!


Nagyon szépen köszönöm!

2014. jún. 23. 21:56
 7/15 anonim ***** válasza:
100%

Pedig ezt egyszerű debugolni.


1) Mikor íródik ki az üzenet? Ha nincs beállítva az $email1

2) Mikor nincs beállítva az $email1? Ha nincs $_POST['email1']

3) Kész

2014. jún. 23. 21:59
Hasznos számodra ez a válasz?
 8/15 A kérdező kommentje:

és ugyan ennél a kódnál fellépet még 1 hiba..


amikor betöltöm az oldalt, rögtön kiírja, hogy sikeres regisztráció, és hozzá ad mysql -en egy sort üresen...


valaki esetleg tudja mi a hiba?

2014. jún. 23. 22:56
 9/15 Tengor ***** válasza:

$_POST["form_submit"] < ezt sehol nem törlöd ki és a rendszer megjegyzi a sessiont.

Az összetákolt SQL utasításokat javítottad már?

2014. jún. 23. 23:05
Hasznos számodra ez a válasz?
 10/15 A kérdező kommentje:
Nem javítottam, mert nem értem mit értesz tákolás alatt.
2014. jún. 23. 23:09
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!