Notice: Undefined index: username in C:\xampp\htdocs\EmoteWa

freboy

Registered
Какво означават тези грешки
Код:
Notice: Undefined index: username in C:\xampp\htdocs\EmoteWar\register.php on line 40

Notice: Undefined index: password in C:\xampp\htdocs\EmoteWar\register.php on line 41

Notice: Undefined index: email in C:\xampp\htdocs\EmoteWar\register.php on line 42

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\EmoteWar\register.php on line 58

Notice: Undefined variable: message in C:\xampp\htdocs\EmoteWar\register.php on line 63

Deprecated: Function eregi() is deprecated in C:\xampp\htdocs\EmoteWar\register.php on line 68
 
Това са notice, които са изключени на повечето хостинги... Иначе трябва да правиш за всяка променлива проверка с isset преди да я ползваш.
Грешката за eregi е защото той спира да се поддържа. Вече трябва да ползваш preg_match.
 
freboy каза:
Как да ги вкюча аз съм на xampp
При теб е включено и затова ти се показват тези грешки. Когато минеш на хостинг няма да ги има, но ако искаш може да ги оправиш. Горе ти казах как с isset.
 
Еми кода ми започва така ето
Код:
<?php
if(!isset($_POST["submit"])){
$user = $_POST["username"];
$pass = $_POST["password"];
$mail = $_POST["email"];
$id=substr (uniqid(rand(),1), 3, 16);
$ip=$_SERVER["REMOTE_ADDR"];
$checkuser = mysql_query("SELECT * FROM `users` WHERE `name`='$user'");
$checkemail = mysql_query("SELECT * FROM `users` WHERE `mail`='$mail'");
$checkip = mysql_query("SELECT * FROM `users` WHERE `ip`='$ip'");
$username_exist = mysql_num_rows($checkuser);
$id=substr (uniqid(rand(),1), 3, 16);
if($username_exist > 0){
$message .= "<div class='red_error_line'>Потребителското име е заето. Опитайте с друго!</div>";
}
$email_exist = mysql_num_rows($checkemail);
if($email_exist > 0){
$message .= "<div class='red_error_line'>Email адреса е зает. Опитайте друг!</div>";
}
$ip_exist = mysql_num_rows($checkip);
if($ip_exist > 0){
$message .= "<div class='red_error_line'>Можете да имате само по една регистрация в играта!</div>";
}
if(strlen($user) < 4 or strlen($user) > 10){
$message .= "<div class='red_error_line'>Невалидно име!</div>";
}
if(strlen($pass) < 4 or strlen($user) > 14){
$message .= "<div class='red_error_line'>Невалидна парола!</div>";
}
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $mail)) {
$message .= "<div class='red_error_line'>Невалиден email адрес!</div>";
} else {
$key=substr (md5(uniqid(rand(),1)), 3, 16);



$q="INSERT INTO `users`(`name` , `pass` , `key` , `active` , `mail` , `ip` , `hero`) VALUES('".$user."' , '".md5($pass1)."' , '".$key."' , '0' , '".$mail."' )";

$r=mysql_query($q,$link);
$text="Здравейте $user вешия активиращ код е :$key ";
mail ($mail, 'Активация ', $text, 'From: mute@mail.bg');

//Показване на формата в която да се въведе активиращия код
echo "Успешна регистрация за да активирате аканта си моля проверете пощата си! ";
echo "<form action=getkey.php method=get>";
echo "Въвъдете вашия активиращ код : <input type=text name=key /><br /><input type=submit /></form>";

}

}


?>
 
freboy каза:
tedo96 каза:
Трябва и за тези...
$user = $_POST["username"];
$pass = $_POST["password"];
$mail = $_POST["email"];

Как така и тези
По същоя начин трябв да направиш и с тях или блокирай грешките както ти казахме горе с:
error_reporting(E_ALL^E_NOTICE);
 

Back
Горе