Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нем огу понять в чем ошибка :(
 
 автор: Mpak   (26.10.2006 в 17:43)   письмо автору
 
 

Это пробничек...
Дело в том что значение $name = $db_name !!!
А он выдает значение false
(Т.е. Вы были успешно зарегестрированы.)

<?php
include "config_forum.php";

$name=$_REQUEST["name"];

$db_name=mysql_query("select name from authors where name='$name';");

if (
$db_name)
{
 if (
$name==$db_name)
 {
 echo 
"<center><b>Извините данное имя занято...</b><br>";
 echo 
"<br><a href=\"http://forum.ru/reg.html\">Регистрироваться заново</a></center>";
 }
 else
 {
 echo 
"<center><b>Вы были успешно зарегестрированы.</b><br>";
 echo 
"<br><a href=\"http://forum.ru/enter\">Вход</a></center>";
 }
}
else
{
echo 
"<b>ERROR: ".mysql_error()."</b>";
exit();
}
?>

   
 
 автор: Trianon   (26.10.2006 в 17:47)   письмо автору
 
   для: Mpak   (26.10.2006 в 17:43)
 


$res=mysql_query("select name from authors where name='$name';") or die(mysql_error()); 
$db_name=mysql_result($res, 0);

сравнивать дескриптор результсета, который вернула функция mysql_query с чем-либо кроме нуля - занятие бессмысленное.

   
 
 автор: LuxeMate   (26.10.2006 в 17:55)   письмо автору
 
   для: Trianon   (26.10.2006 в 17:47)
 

А от куда берётся переменная name?Из формы чтоль?Тогда при чем тут $_REQUEST,я такой никогда не пользовался,попробуйте так:


<?php 
include_once("config_forum.php"); 

$name $_REQUEST["name"]; 

$query mysql_query("SELECT * FROM `authors` WHERE `name` = '".$name."';"); 
$db_name mysql_fetch_array($query);

if (
$name == $db_name['name']) 

echo 
"<center><b>Извините данное имя занято...</b><br>"
echo 
"<br><a href=\"http://forum.ru/reg.html\">Регистрироваться заново</a></center>"

else 

echo 
"<center><b>Вы были успешно зарегестрированы.</b><br>"
echo 
"<br><a href=\"http://forum.ru/enter\">Вход</a></center>"

else 

echo 
"<b>ERROR: ".mysql_error()."</b>"
exit(); 

?> 


Я так делал при регистрации юзеров =)
Может заработает.....и всё таки я не понемаю при чем тут $name = $_REQUEST["name"]; :D

   
 
 автор: Trianon   (26.10.2006 в 18:01)   письмо автору
 
   для: LuxeMate   (26.10.2006 в 17:55)
 

В $_REQUEST складываются копии из $_GET, $_POST и $_COOKIE .
Так что эффект у него несколько иной.

   
 
 автор: Mpak   (26.10.2006 в 18:01)   письмо автору
 
   для: LuxeMate   (26.10.2006 в 17:55)
 

LuxeMate> $name берется путем submit со страницы reg.html :)))
Это просто для испытаний функций :)))

   
 
 автор: Mpak   (26.10.2006 в 17:57)   письмо автору
 
   для: Trianon   (26.10.2006 в 17:47)
 

Спасибо!
А что значит:

... or die(mysql_error())
?

   
 
 автор: LuxeMate   (26.10.2006 в 17:58)   письмо автору
 
   для: Mpak   (26.10.2006 в 17:57)
 

Если что то пойдет не так он закончит все запросы и выведет ошибку...я так понял =)

   
 
 автор: Trianon   (26.10.2006 в 18:05)   письмо автору
 
   для: Mpak   (26.10.2006 в 17:57)
 

напечатать диагностику последней ошибки MySQL и прекратить выполнение, если выражение слева равно нулю.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования