Проверка логина и email в базе mysql

Фанат

oncle terrible
Команда форума
попытка описать проблему не удалась.

-~{}~ 05.11.10 22:50:

попробую предположить, что на указанной странице кроме обсуждаемого здесь кода есть еще 2 раза по столько. И вот в этом никому неизвестном коде и предлагается найти ошибку. Я прав?
 

kuper

Новичок
Так а как ее описать если просто с таким кодом не чего не происходит просто 0 - Ноль

я так понимаю загвоздка тут

$number = mysql_num_rows($res);
if ($number == 0l) {
echo "<CENTER><P>такого емейла нет</CENTER>";
}

-~{}~ 05.11.10 22:53:

Вот весь код он кстати со старницы яблок без изменений

$hostname = "localhost";
$username = "ля";
$password = "ля";
$dbName = "ля";

/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";

/* email администратора */
$adminaddress = "[email protected]";

/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
$name=$_POST['name'];
$email=$_POST['email'];
$preference=$_POST['preference'];
echo "<CENTER>";
echo "Привет, ".$_POST['name'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Вас интересуют ".$_POST['preference'].". Информацию о них мы пошлем вам на email: ".$_POST['email'];
echo "</CENTER>";

/* Отправляем email-ы */
$subj = "Запрос на информацию";
$text = "Уважаемый ".$_POST['name']."!
Спасибо за ваш интерес!
Вас интересуют ".$_POST['preference']."
Мы их распространяем бесплатно.
Обратитесь в ближайший филиал нашей компании и получите ящик этого продукта.";
mail($_POST['email'], $subj, $text);

$subj="Поступил запрос на информацию";
$text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];
mail($adminaddress, $subj, $text);
//проверка мыла
//$query = "SELECT * FROM $userstable WHERE email = '$email'";
//$res = mysql_query($query) or die(mysql_error());
//while ($email=mysql_fetch_array($res)) echo "Не то ";


$query = "SELECT * FROM $userstable WHERE email = '$email'";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
if ($number == $email) {
echo "<CENTER><P>такого емейла нет</CENTER>";
}


//while ($email=$number) echo "Не то ";



/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
echo "Информация о вас занесена в базу данных.";

-~{}~ 05.11.10 22:57:

Я так понимаю это ваще не к месту mysql_num_rows
 

Фанат

oncle terrible
Команда форума
этот код должен быть в разных файлах.

-~{}~ 05.11.10 23:00:

mysql_num_rows - это единственное, что здесь к месту.
 

kuper

Новичок
mysql_num_rows - получает количество рядов в результате.

а мыло могет быть только одно а он как я понимаю считает количество
 

Фанат

oncle terrible
Команда форума
что значит "не то мыло"? а какое должно быть то?
 

kuper

Новичок
T E если мыло ужо есть в базе то введи другое

-~{}~ 05.11.10 23:13:

Да блин что за х.. это реагирует на любое мыло if ($number == 1)
те считает что есть
 

Фанат

oncle terrible
Команда форума
проверяй.
как выглядит запрос
что возвращает.
какое значение у всех переменных
 

kuper

Новичок
Вопщем это 100% работает правда на другой таблице

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}
 
Сверху