X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Проверка. Зарегистрирован ли пользователь...
dimjan4
dimjan4
Topic Starter сообщение 20.7.2009, 17:19; Ответить: dimjan4
Сообщение #1


Делаю следующее:
посылаю запрос:
[PHP]$q1 = mysql_query ("SELECT * FROM `users` WHERE name='$login' ");[/PHP]

Потом проверяю:
[PHP]if (mysql_num_fields ( $sq1) == "0")[/PHP]

Проблема в том, что
[PHP]$q1 = mysql_query ("SELECT * FROM `users` WHERE name='$login' ");[/PHP]
возвращает ошибку и следовательно [PHP]mysql_num_fields ( $sq1)[/PHP] уже не работает....
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 20.7.2009, 19:02; Ответить: Galen
Сообщение #2


Что за ошибку возвращает? :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 20.7.2009, 19:16; Ответить: Apay
Сообщение #3


после запроса сделайте вывод ошибки, например так[php]$q1 = mysql_query ("SELECT * FROM `users` WHERE name='$login'");
if( $q1 === false ) echo mysql_error();[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 20.7.2009, 21:06; Ответить: Galen
Сообщение #4


А мне больше нравится так:
[PHP]$query = mysql_query($sql, $connect) or die("Ошибка: ".mysql_error());[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 20.7.2009, 21:10; Ответить: dimjan4
Сообщение #5


Возвращает следующие ошибки:
Notice: Undefined variable: sq1 in z:\home\stena\www\reg.php on line 89

Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in z:\home\stena\www\reg.php on line 89
Пользователь с таким именем уже зарегистрирован!


на самом деле пользователь не зарегистрирован!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 20.7.2009, 21:20; Ответить: Apay
Сообщение #6


Galen, совсем запутал человека :)
пишите в вашем случае
[php]$q1 = mysql_query("SELECT * FROM `users` WHERE name='$login'") or die("Ошибка: ".mysql_error());[/php]
die лучше вообще поменьше пользоваться (зачем убивать скрипт?), лучше обработать ошибку и продолжить формирование странички, имхо когда она (страничка) из-за какого-то сбоя рисуется только наполовину - не есть гут.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 20.7.2009, 21:23; Ответить: dimjan4
Сообщение #7


Ошибка таже!
Вот код reg.php
[PHP]<?php
include "mysql_con.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Регистрация</title>

<style>
body {background-image:url("images/background_1.gif");color:#333333;font-family:Arial;}
.mes {
width:350px;
height:200px;
text-align:center;
background-image:url("images/background-message.png");
background-repeat:no-repeat;
padding-top:70px;
font-weight:bold;
}
</style>
</head>
<body>
<table width="98%" height="98%" border="0">
<tr>
<td align="center" valign="middle" class="white" >
<div class="mes">
<?php
if (empty($_POST['signup']) or empty($_POST['email']))
{
print "До чего докатились, уже форму заполнить не можем...";
}
else
{

if (!eregi("^([A-Za-z0-9А])", $_POST['signup']) or $_POST['signup'] == "")
{
print "Имя должно состоять из латинский букв и/или цифр!";
}
else
{
if(!preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email))
{
//error
print "email некорректен!";
}
else
{
if (strlen($_POST['signup']) > 25 or strlen($_POST['signup']) < 4)
{
$size = strlen($_POST['signup']);
print "Логин не должен быть больше 25 или меньше 4 символов...<br/> У тебя ". $size;
}
else
{
$login = $_POST['signup'];
$email = $_POST['email'];
//pass
$arr = array ('a','b','c','d','e','f',
'g','h','i','j','k','l',
'm','n','o','p','r','s',
't','u','v','x','y','z',
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z',
'1','2','3','4','5','6',
'7','8','9','0');
// Генерируем пароль
$pass = "";
for($i = 0; $i < 10; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
//End Pass

$activation_code = rand(100000,999999);
registration ($login,$email,$pass,$activation_code);
}
}
}
}
///Start registration
function registration ($login,$email,$pass,$activation_code)
{
$q1 = mysql_query("SELECT * FROM `users` WHERE name='$login'") or die("Ошибка: ".mysql_error());
if (mysql_num_fields ( $sq1) == "0")
{


$q2 = mysql_query ("SELECT * FROM `users` WHERE email='$email'");
if (mysql_num_fields( $sq2) == "0")
{
mails ($login,$email,$pass,$activation_code);
}
else
{
print "Пользователь с таким <b>e-mail</b> 'ом уже зарегистрирован!";
}

}
else {
print "Пользователь с таким <b>именем</b> уже зарегистрирован!";
}



}
?>
<br><img src="images/load.gif" width="150px" height="13px" border="0"/>
<br> Через 5 секунд Я перекину тебя на главную страницу.

<script language="javascript1.2">
setTimeout('location.href="index.php"',5000);
</script>
</div>
</td>
</tr>
</table>
</body>
</html>
<?php
function mails() {
$site_name = "mysite";
$subj = $site_name." robot";
$text = "Здравствуйте. \n Вы зарегистрировались на сайте $site_name \n Данные для активации и дальнейшей работы:\n Логин: $login \n e-mail: $email\n Пароль: $pass\n Пароль для активации $activation_code (его запоминать не надо)\n С уважением, робот $site_name\n";
$mails = mail($email, $subj, $text);
if (!$mails)
{
print "Произошла ошибка!";
}
else
{
print "Проверь почту!";
}
}
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 20.7.2009, 22:03; Ответить: Galen
Сообщение #8


Вам же пишут что нет такой переменной. Вот здесь опечатка:
[php]$q1 = mysql_query("SELECT * FROM `users` WHERE name='$login'") or die("Ошибка: ".mysql_error());
if (mysql_num_fields ( $sq1) == "0")[/php]

die лучше вообще поменьше пользоваться (зачем убивать скрипт?), лучше обработать ошибку и продолжить формирование странички

Согласен - если есть нормальная обработка исключительной ситуации. А при разработке, имхо, лучше полный die :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 20.7.2009, 22:20; Ответить: dimjan4
Сообщение #9


Спасибо! Я как то не заметил...но теперь проблема в следующем:
Мне пишет: Пользователь с таким именем уже зарегистрирован!
но таблица users пуста!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 20.7.2009, 23:06; Ответить: Apay
Сообщение #10


mysql_num_rows вместо mysql_num_fields

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
183 Positon 179464 12.4.2024, 8:32
автор: Positon
Открытая тема (нет новых ответов) Проверка качества прогона по трастовым сайтам, профилям, каталогам
0 bestweb20_mw 1400 21.12.2017, 18:36
автор: bestweb20_mw
Открытая тема (нет новых ответов) Фейк вконтакте - лучшая фотомодель (проверка на валид, админка)
0 Quant 2216 26.5.2017, 14:33
автор: Quant
Горячая тема (нет новых ответов) Чистим сайты от вирусов, рекомендации, проверка сервера на уязвимость!
80 Rxp 56604 16.2.2017, 15:05
автор: Andro11
Открытая тема (нет новых ответов) Чекер-сервис аккаунтов, проверка баз e-mail, профилей, блогов
19 KrisGuseva 19021 30.7.2015, 3:05
автор: KrisGuseva


 



RSS Текстовая версия Сейчас: 18.4.2024, 20:35
Дизайн