Ерорче отново

anival

Registered
Защо дава този error ето ми скрипта за регистрация
Код:
<?
 mysql_connect("**", "**", "**") or die("Can not connect to database"); 
 mysql_select_db("**") or die("Can not connect to database"); 
 $name=addslashes($_POST['name']);
 $password=addslashes($_POST['password']);
 $servername=addslashes($_POST['servername']);

 $checkuser = "SELECT name FROM users WHERE name = '$name'"; 
 $resultcheck = mysql_query($checkuser) or die("Грешка");
 
 if((empty($name)) || (empty($password)) || ((empty($servername)))
 { 
  echo "<b>Моля попълнете всички полета</b>";
 } 
 else
 if (mysql_num_rows($resultcheck) > 0)
 { 
 echo "Потребителското име вече е заето.";
 }
 else
 { 
 $zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);"); 
 if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
 } 
?>
Parse error: parse error, unexpected '{' in /home/www/cappy.freehostia.com/muonline/rega.php on line 177
 
Много се самнявам това да е целия код защото грешката е на 177 ред а тук са поне 29 , 33 тука некаде ;)
 
Black каза:
Много се самнявам това да е целия код защото грешката е на 177 ред а тук са поне 29 , 33 тука некаде ;)
Останалото е дизайн :wink:
 
<?
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);

$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");

if((empty($name)) || (empty($password)) || ((empty($servername))) {
echo "<b>Моля попълнете всички полета</b>";
}
else
if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
?>

if(empty($name) || empty($password) || empty($servername))


Еее изпревариха ме ;)
 
Така?
Код:
<?php
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);
$checkuser = "SELECT name FROM users WHERE name = '$name'";
$result = mysql_query($checkuser) or die("Грешка");
mysql_close(); 
if (mysql_num_rows($result)>0) 
{echo "Има вече такъв user.";exit;} 
if((empty($name)) || (empty($password)) || ((empty($servername)))
{
echo "<b>Моля попълнете всички полета</b>";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis){
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>
 
anival каза:
Soul_Stealler каза:
Така ?
if( (empty($name)) || (empty($password)) || (empty($servername)) ) {
Parse error: parse error, unexpected T_ELSE in **/rega.php on line 180

Кода на Soul работи перфектно, само дето си изтрии едната { или твойта или неговата, защото ако ги оставиш двете дава тази грешка :)

Свали си Zend Studio мн добра прогрма ;)

Помага за откриването на грешки и като почнеш да пишеш код с нея ще видиш колко по-лесно става. Като напишеш отварящ таг тя ти го затваря, като напишеш ( програмата я затваря, абе направо приказка :) И една ; да изпуснеш и се маркира в червено грешка на долния ред ;)
 
<?
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);

$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");

if((empty($name)) || (empty($password)) || ((empty($servername)))
{
echo "<b>Моля попълнете всички полета</b>";
}
else
if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>

Проверявай си ифовете... често се пропускат { и }
 
Код:
<?
 mysql_connect("**", "**", "**") or die("Can not connect to database"); 
 mysql_select_db("**") or die("Can not connect to database"); 
 $name=addslashes($_POST['name']);
 $password=addslashes($_POST['password']);
 $servername=addslashes($_POST['servername']);

 $checkuser = "SELECT name FROM users WHERE name = '$name'"; 
 $resultcheck = mysql_query($checkuser) or die("Грешка");
 
 if((empty($name)) || (empty($password)) || (empty($servername)))
 { 
  echo "<b>Моля попълнете всички полета</b>";
 } 
 elseif (mysql_num_rows($resultcheck) > 0)
 { 
 echo "Потребителското име вече е заето.";
 }
 else
 { 
 $zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);"); 
 if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
 } 
?>

Така?


Malfurion каза:
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>

Проверявай си ифовете... често се пропускат { и }

Това не е от значение. Когато е едно нещо за изпълняване може да се пропуснат.

EDIT:: Мисля, че ти намерих грешката. Промених си кода.
 
StormBreaker каза:
Код:
<?
 mysql_connect("**", "**", "**") or die("Can not connect to database"); 
 mysql_select_db("**") or die("Can not connect to database"); 
 $name=addslashes($_POST['name']);
 $password=addslashes($_POST['password']);
 $servername=addslashes($_POST['servername']);

 $checkuser = "SELECT name FROM users WHERE name = '$name'"; 
 $resultcheck = mysql_query($checkuser) or die("Грешка");
 
 if((empty($name)) || (empty($password)) || (empty($servername)))
 { 
  echo "<b>Моля попълнете всички полета</b>";
 } 
 elseif (mysql_num_rows($resultcheck) > 0)
 { 
 echo "Потребителското име вече е заето.";
 }
 else
 { 
 $zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);"); 
 if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
 } 
?>

Така?


Malfurion каза:
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>

Проверявай си ифовете... често се пропускат { и }

Това не е от значение. Когато е едно нещо за изпълняване може да се пропуснат.

EDIT:: Мисля, че ти намерих грешката. Промених си кода.
По твоя начин попълнете всички полета попълвам ги и нестава ето reg.php

<form action="rega.php" method="post">
<br>Име:<br><INPUT TYPE='name' NAME='name' SIZE='13' MAXLENGTH='12'>
<br>Парола:<br><INPUT TYPE='password' NAME='password' SIZE='13' MAXLENGTH='12'>
<br>Името на сървъра:<br><INPUT TYPE='servername' NAME='text' SIZE='13' MAXLENGTH='12'>
<br><input name="Button" value="Регистрирай" type="submit"></div>
 
<?php
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);
$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");
if((empty($name)) || (empty($password)) || ((empty($servername))))
{
echo "<b>Моля попълнете всички полета</b>";
}
else if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>
 
Malfurion каза:
<?
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);

$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");

if((empty($name)) || (empty($password)) || ((empty($servername)))
{
echo "<b>Моля попълнете всички полета</b>";
}
else
if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>

Проверявай си ифовете... често се пропускат { и }

Parse error: parse error, unexpected '{' in /home/www/cappy.freehostia.com/muonline/rega.php on line 177
 
hrischo каза:
<?php
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);
$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");
if((empty($name)) || (empty($password)) || ((empty($servername))))
{
echo "<b>Моля попълнете всички полета</b>";
}
else if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis)
{
echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
}
?>
На всички пише попълнете всички полета някъде в reg.php ? :roll:
 
Пробвай така:

Код:
<?
 mysql_connect("**", "**", "**") or die("Can not connect to database");
 mysql_select_db("**") or die("Can not connect to database");
 $name=addslashes($_POST['name']);
 $password=addslashes($_POST['password']);
 $servername=addslashes($_POST['servername']);

 $checkuser = "SELECT name FROM users WHERE name = '$name'";
 $resultcheck = mysql_query($checkuser) or die("Грешка");
 
 if((empty($name)) && (empty($password)) && (empty($servername)))
 {
  echo "<b>Моля попълнете всички полета</b>";
 }
 elseif (mysql_num_rows($resultcheck) > 0)
 {
 echo "Потребителското име вече е заето.";
 }
 else
 {
 $zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
 if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
 }
?>
 
adrian каза:
<?
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);

$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");

if((empty($name)) || (empty($password)) || ((empty($servername))) {
echo "<b>Моля попълнете всички полета</b>";
}
else
if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
?>

if(empty($name) || empty($password) || empty($servername))


Еее изпревариха ме ;)

Напълно работи ;)
 
StormBreaker каза:
Пробвай така:

Код:
<?
 mysql_connect("**", "**", "**") or die("Can not connect to database");
 mysql_select_db("**") or die("Can not connect to database");
 $name=addslashes($_POST['name']);
 $password=addslashes($_POST['password']);
 $servername=addslashes($_POST['servername']);

 $checkuser = "SELECT name FROM users WHERE name = '$name'";
 $resultcheck = mysql_query($checkuser) or die("Грешка");
 
 if((empty($name)) && (empty($password)) && (empty($servername)))
 {
  echo "<b>Моля попълнете всички полета</b>";
 }
 elseif (mysql_num_rows($resultcheck) > 0)
 {
 echo "Потребителското име вече е заето.";
 }
 else
 {
 $zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
 if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
 }
?>
Неизписва нищо само Процес на регистрация и нищо дали е регистрирало дали не непише :roll:
 
adrian каза:
adrian каза:
<?
mysql_connect("**", "**", "**") or die("Can not connect to database");
mysql_select_db("**") or die("Can not connect to database");
$name=addslashes($_POST['name']);
$password=addslashes($_POST['password']);
$servername=addslashes($_POST['servername']);

$checkuser = "SELECT name FROM users WHERE name = '$name'";
$resultcheck = mysql_query($checkuser) or die("Грешка");

if((empty($name)) || (empty($password)) || ((empty($servername))) {
echo "<b>Моля попълнете всички полета</b>";
}
else
if (mysql_num_rows($resultcheck) > 0)
{
echo "Потребителското име вече е заето.";
}
else
{
$zapis = mysql_query("INSERT INTO users (name, password, servername) VALUES ('$name', '$password', '$servername',);");
if($zapis) echo "<b>Регистрацията е успешна! Вече може да се логнете <a href='login.html'>Тук</a></b>";
}
?>

if(empty($name) || empty($password) || empty($servername))


Еее изпревариха ме ;)

Напълно работи ;)
Parse error: parse error, unexpected '{' in **/rega.php on line 176
 
@anival Естествено,че ще ти дава тая грешка.Виж как си задал името във формата

<br>Името на сървъра:<br><INPUT TYPE='servername' NAME='text' SIZE='13' MAXLENGTH='12'>

А после искаш да го земеш със :

$servername=addslashes($_POST['servername']);

Оправи формата :
<br>Името на сървъра:<br><INPUT TYPE='text' NAME='servername' SIZE='13' MAXLENGTH='12'>
 
hrischo каза:
@anival Естествено,че ще ти дава тая грешка.Виж как си задал името във формата

<br>Името на сървъра:<br><INPUT TYPE='servername' NAME='text' SIZE='13' MAXLENGTH='12'>

А после искаш да го земеш със :

$servername=addslashes($_POST['servername']);

Оправи формата :
<br>Името на сървъра:<br><INPUT TYPE='text' NAME='servername' SIZE='13' MAXLENGTH='12'>
Това го оправих но отново неизписва какво е станало ако има такова име пише потребителското име е заето после регвам някакъв акаунт и нищо неизписва никакъв резултат после като рефрешна пише да попълна всички полета ...
 

Back
Горе