Kezdőoldal » Számítástechnika » Programozás » Nem jövök rá a hibára esetleg...

Nem jövök rá a hibára esetleg ti? többi lent!

Figyelt kérdés

sziasztok csinálok egy regisztráció űrlapot és a php feldolgozásánál ezt írja ki

Warning: main() [function.main]: Couldn't fetch mysqli in C:\wamp\www\belep.php on line 33


Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in C:\wamp\www\belep.php on line 40

Hiba!


és itt a 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,})$/';

$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("localhost","root","","user");

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("localhost","root","","user");

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;

}


// csak akkor ellenőrizzük az avatart, ha fel van töltve, illetve

// az űrlap többi mezője nem tartalmaz hibát

if($_FILES["avatar"]["name"]!="" && $error_data==false) {

$avatar_pathinfo = pathinfo($_FILES["avatar"]["name"]);

$avatar_extension = $avatar_pathinfo["extension"];

$avatar_filesize = $_FILES["avatar"]["size"];

$avatar_tmp_name = $_FILES["avatar"]["tmp_name"];

$avatar_dimensions = getimagesize($avatar_tmp_name);

$avatar_mime_type = $avatar_dimensions["mime"];

$allowed_extensions = array("image/jpeg" => "jpg", "image/gif" => "gif", "image/png" => "png");

if(is_uploaded_file($avatar_tmp_name)) {

if($avatar_filesize>20000) {

echo "<div class=\"message error\">A fájlméret nem lehet több, mint 20kbyte.</div>";

$error_avatar = true;

} elseif(!in_array($avatar_extension,$allowed_extensions) || !isset($allowed_extensions[$avatar_mime_type])){

echo "<div class=\"message error\">Nem engedélyezett formátum.</div>";

$error_avatar = true;

} elseif($avatar_dimensions[0]!=100 && $avatar_dimensions[1]!=100) {

echo "<div class=\"message error\">A kép mérete kötelezően 100x100 képpont kell, hogy legyen!</div>";

$error_avatar = true;

} else {

// átnevezi a tmp fájlt egy véletlenszerűen generált fájlnévre

$avatar_local_tmp_name = $username.".".$allowed_extensions[$avatar_mime_type];

// az átnevezett tmp fájlt áthelyezi a saját tmp könyvtárunkba

move_uploaded_file($avatar_tmp_name,"tmp/".$avatar_local_tmp_name);

// saját tmp könyvtárból átmásolja az upload könyvtárba

copy("tmp/".$avatar_local_tmp_name,"upload/".$avatar_local_tmp_name);

// törli a saját tmp fájlt

unlink("tmp/".$avatar_local_tmp_name);

echo "<div class=\"message notice\">Sikeres képfeltöltés!</div>";

}

}

}

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

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

$sql = @ new mysqli("localhost","","root","user");

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`) VALUES ('".$username."', '".$email1."', '".sha1($password1)."')";

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

}

}


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

?>


2012. jún. 13. 19:24
 1/1 anonim ***** válasza:

Hello!

Ehhez jó lenne tudni, hogy mi a 33. és mi a 40. sor...

Nem vagyok túl járatos a PHP objektumkezelésében, de nekem a @ gyanús... biztos, hogy van ilyen a PHP-ben?

2012. jún. 16. 09:42
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!