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

Форум MySQL

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

 

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

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

тема: Проверка наличия в таблице логина и e-mail
 
 автор: Kreg-Heg   (16.04.2007 в 14:18)   письмо автору
 
 

Как сделать проверку по базе на существование логина и почты?

<?php
$dbname = "rega";
$dbtable = "reg";
$dbcnx = mysql_connect('localhost','kreg-heg','**********');
$user = $_POST['login'];
$email = $_POST['mail'];
...
?>

Как проверить существует ли уже такой $user в столбце базы login и $email в столбце базы mail?

   
 
 автор: CrazyAngel   (16.04.2007 в 14:31)   письмо автору
 
   для: Kreg-Heg   (16.04.2007 в 14:18)
 


<?php
if($res SELECT FROM $dbtable where login=`$user` and  passwd=`$passwd` and email=`$email `)
    echo 
"есть такой";
else
    echo 
"Нет такого";
?>

Команды SQL

   
 
 автор: KPETuH   (16.04.2007 в 14:37)   письмо автору
 
   для: CrazyAngel   (16.04.2007 в 14:31)
 

прочтите свой код еще раз

   
 
 автор: cheops   (16.04.2007 в 14:45)   письмо автору
 
   для: Kreg-Heg   (16.04.2007 в 14:18)
 

Можно поступить следующим образом
<?php
  
// сейчас выставлен сервер локальной машины
  
$dblocation "localhost";
  
// Имя базы данных, на хостинге или локальной машине
  
$dbname "rega";
  
// Имя пользователя базы данных
  
$dbuser "root";
  
// и его пароль
  
$dbpasswd "";
  
// Таблица
  
$dbtable "reg"

  
// Устанавливаем соединение с базой данных
  
$dbcnx mysql_connect($dblocation,$dbuser,$dbpasswd);
  if (!
$dbcnx) {
   exit( 
"<P>В настоящий момент сервер базы данных не 
          доступен, поэтому корректное отображение 
          страницы невозможно.</P>" 
);
  }
  
// Выбираем базу данных
  
if (! @mysql_select_db($dbname,$dbcnx) ) {
    exit( 
"<P>В настоящий момент база данных не 
           доступна, поэтому корректное отображение 
           страницы невозможно.</P>" 
);
  }
  
// Настраниваем кодирвоку соединения
  
@mysql_query("SET NAMES 'cp1251'");


  if (!
get_magic_quotes_gpc())
  {
    
$login mysql_escape_string($_POST['login']);
    
$mail  mysql_escape_string($_POST['mail']);
  }

  
// Проверяем наличие login
  
$query "SELECT COUNT(*) FROM $dbtable WHERE login = '$login'";
  
$log mysql_query($query);
  if(!
$log) exit("Ошибка - ".mysql_error());
  if(
mysql_result($log0)) exit("К сожалению такой логин уже существует");

  
// Проверяем наличие email
  
$query "SELECT COUNT(*) FROM $dbtable WHERE login = '$mail'";
  
$mal mysql_query($query);
  if(!
$mal) exit("Ошибка - ".mysql_error());
  if(
mysql_result($mal0)) exit("К сожалению такой e-mail уже существует");
?>

   
 
 автор: Kreg-Heg   (16.04.2007 в 14:57)   письмо автору
 
   для: cheops   (16.04.2007 в 14:45)
 

Спасибо!!! Всё отлично работает, только в строке описка в этой => login = '$mail'"; )))

   
Rambler's Top100
вверх

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