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

Форум PHP

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

 

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

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

тема: не работает код проверки правильности ввода данных в HTML-форму
 
 автор: tokmak   (19.02.2007 в 18:32)   письмо автору
 
 

Можете посмотреть вот этот код Постоянно пишет Вы не заполнили имя/пароль/пов.пароль/email
Вы должны заполнить данные поля.
Введенный пароль не совпадает с повторным


<?php
 
if(isset($_REQUEST['B2'])) {
 include(
"inc/status.php");


if ((empty(
$name))||(empty($password))||(empty($email))) {
    echo 
"<center>Вы не заполнили имя/пароль/пов.пароль/email<br> Вы должны заполнить данные поля."; }


if (!
preg_match("/^([a-zA-ZА-яа-я0-9])+$/",$name)) {
print 
"<center>В поле Имя вводите только латинские, русские и числовые символы!<br>"; }
elseif (
strlen($name) < 4) {
print 
"<center>Имя не должено быть короче 6 символов!<BR>"; }
elseif (
strlen($passw) < 6) {
print 
"<center>Пароль не должен быть короче 6 символов!<BR>"; }
elseif (!
preg_match("/^([a-zA-ZА-яа-я0-9])+$/",$passw)) {
print 
"<center>В поле Пароль вводите только латинские, русские и числовые символы!<br>"; }
elseif (
$rpassw <> $passw) {
    print 
"<center>Введенный пароль не совпадает с повторным"; }
elseif (!
eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$"$email) and $email != "")
{ print 
"<center>Вы ввели некорректный e-mail адрес!<BR>"; }
 else {
//Проверка на сущ пользователей
$conn mysql_connect ("$hostname""$login""$password""$db") or die ("");
MYSQL_SELECT_DB($db) or die("Не могу выбрать БД");
$sql = ("SELECT * FROM `authors` WHERE `name`='$name'");
$em = ("SELECT * FROM `authors` WHERE `email`='$email'");
$emres mysql_query($em);
$result mysql_query($sql);
if (isset(
$result)) {
    if (
mysql_num_rows($result) > 0) {
echo(
"<center>Пользователь $name уже существует &nbsp;
"
);
  }
}
if (isset(
$emres)) {
if (
mysql_num_rows($emres)>) {
echo(
"<center>Пользователь с таким $email уже зарегистрирован&nbsp;<br>
<a href=/?inc=enter>Войти</a>"
);
}
}




    
$name htmlspecialchars($name);
    
$rpassw htmlspecialchars($rpassw);
    
$passw htmlspecialchars($passw);
    
$email htmlspecialchars($email);
    
$url htmlspecialchars($url);
    
$icq htmlspecialchars($icq);
    
$about htmlspecialchars($about);

  
$info_image = @getimagesize($_FILES['photo']['tmp_name']);
if((((
strpos($_FILES['photo']['type'], "image") == true))||(preg_match('{image/(.*)}is'$info_image['mime'], $p)))||(empty($photo)))

  {   list(
$width$height) = $info_image;
  if (((
$width == 128)&&($height == 128))||(empty($photo))) {


  
$file date('dmYhs');
  
$fileimg "download/photo/$file".$HTTP_POST_FILES['photo']['name'];


copy($HTTP_POST_FILES['photo']['tmp_name'], "download/photo/$file".$HTTP_POST_FILES['photo']['name']);
$file=$HTTP_POST_FILES['photo']['name'];
include(
"config.php");
   
$conn mysql_connect ("$hostname""$login""$password""$db")
        or die (
"<center>Соединение не установлено!");


MYSQL_SELECT_DB($db) or die("Не могу выбрать БД");

$sql "INSERT INTO authors (name,passw,email,url,icq,about,photo,statususer) VALUES
('
$name','$passw','$email','$url','$icq','$about','$fileimg','$statususer')";
$result mysql_query($sql);

set_time_limit(0);
error_reporting(0);
$host getenv("HTTP_HOST");
$url "http://$host/index.php";
Header("Location: $url");

}
else { Echo 
"<center>Размер изображения не должен превышать 128x128";
}
}else { echo(
"<center>Попытка добавить файл недопустимого формата"); }

}
} else
{ echo(
'
<center>

<form method="POST" action="" name="form" ENCTYPE="multipart/form-data" >

 <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="208">
        <tr>
          <td width="100%" height="151" align="left" valign="top">
          <table cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="95">
            <tr>
              <td width="50%" align="center" height="23">Введите Ваше имя*</td>
              <td width="50%" align="left" height="23">
              <input type="text" name=/"name/" size="20"></td>
            </tr>

            <tr>
              <td width="50%" align="center" height="22">Введите ваш пароль*</td>
              <td width="50%" align="left" height="22">
              <input type="text" name=/"rpassw/" size="20"></td>
            </tr>
            <tr>
              <td width="50%" align="center" height="23">Повторите пароль*</td>
              <td width="50%" align="left" height="23">
              <input type="text" name=/"passw/" size="20"></td>
            </tr>
             <tr>
              <td width="50%" align="center" height="23">Введите ваш Email*</td>
              <td width="50%" align="left" height="23">
              <input type="text" name=/"email/" size="20"></td>
            </tr>
            <tr>
              <td width="50%" align="center" height="24">Введите URL вашего сайта </td>
              <td width="50%" align="left" height="24">
              <input type="text" name="url" size="20"></td>
            </tr>
            <tr>
              <td width="50%" align="center" height="24">Введите ваш ICQ</td>
              <td width="50%" align="left" height="24">
              <input type="text" name="icq" size="20"></td>
            </tr>
            <tr>
              <td width="50%" align="center" height="24">Введите информацию о себе</td>
              <td width="50%" align="left" height="24">
              <input type="text" name="about" size="20"></td>
            </tr>
            <tr>
              <td width="50%" align="center" height="24">Выберите свой рисунок </td>
              <td width="50%" align="left" height="24">
              <input type="file" name="photo" size="20"></td>
            </tr>
          </table>
          </td>
        </tr>
        <tr>
          <td width="100%" height="26"><input name="statususer" type="hidden" value="user">
          <p align="center"><br><input type="submit" value="Продолжить" name="B2"></td>
        </tr>
      </table>
      <p>&nbsp;</p>
    </form>'
); }
?>

   
 
 автор: Trianon   (19.02.2007 в 18:37)   письмо автору
 
   для: tokmak   (19.02.2007 в 18:32)
 


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

Откуда берутся все эти переменные?

   
 
 автор: Фитч   (19.02.2007 в 18:39)   письмо автору
 
   для: tokmak   (19.02.2007 в 18:32)
 

Так у вас же $name и тп. не проинициализированы! Вы должны получить их так:

$name = $_POST['name']
/* и тд. */

Перед тем, как обрабатывать

ЗЫ:
Trianon меня обогнал ((

ЗЗЫ:
А исчо нужно mysql_select_db вместо MYSQL_SELECT_DB

   
 
 автор: tokmak   (19.02.2007 в 18:48)   письмо автору
 
   для: Фитч   (19.02.2007 в 18:39)
 


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

В конце кода существует форма где и находятся эти переменные. Может быть что-ото не правильно, хотя в базуданных записывается вся инфа, что нужна. Но вот только пишет эту строчку.Ну может быть у меня неправильно стоят скобки на всех условия. Посмотрите пожалуста.

   
 
 автор: tokmak   (19.02.2007 в 19:07)   письмо автору
 
   для: tokmak   (19.02.2007 в 18:48)
 

Ну же спецы, что это для вас тяжелый код? Помоему ничего сложно, просто я запутался в этих условиях. Да-а-а.... Еще к тому же я не про по PHP
cheops, ты случайно ничего не подскажешь.
П.С. Если код большой это не значит что он сложный.

   
 
 автор: alek_chita   (19.02.2007 в 19:20)   письмо автору
 
   для: tokmak   (19.02.2007 в 18:32)
 

После


<?php
 
if(isset($_REQUEST['B2'])) {
 include(
"inc/status.php"); ?>


Вставте:


<?php
  $name 
$_POST['name'];
  
$password $_POST['passw'];
  
$rpassw $_POST['rpassw'];
  
$email $_POST['email'];
  
// ну и так далее URL ICQ....
?>


Вопросы ваши не новы они очень подробно рассмотрены в книгах cheopsa
php5 в примерах.
php5 народные советы.
php5 практика создания web сайтов.
благодаря этим книгам я здесь даю вам советы (занимаюсь php чуть больше месяца), за что спасибо cheopsy. Отдельное.

   
 
 автор: tokmak   (19.02.2007 в 19:36)   письмо автору
 
   для: alek_chita   (19.02.2007 в 19:20)
 

Я собираюсь тоже эти книги приобрести, просто у меня времени не всегда вдоволь. Ну знаете впринцепи вставил, все заработало. Благодарю за дельный совет. Вы не могли бы посмотреть что-то у меня с условиями. мне нужно чтобы вся проверка выполнялась если сущ одна из ошибок то она пишет соответсвенно, если все нормаль, то начать работу скрипта от сюда

 $name = htmlspecialchars($name);
    $rpassw = htmlspecialchars($rpassw);
    $passw = htmlspecialchars($passw);
    $email = htmlspecialchars($email);
    $url = htmlspecialchars($url);
    $icq = htmlspecialchars($icq);
    $about = htmlspecialchars($about);

и до сюда

}
else { Echo "<center>Размер изображения не должен превышать 128x128";
}
}else { echo("<center>Попытка добавить файл недопустимого формата"); }

}
}

и нужно чтобы происходило перенаправление на главнуюю страницу. Как это сделать?

   
 
 автор: tokmak   (19.02.2007 в 21:06)   письмо автору
 
   для: tokmak   (19.02.2007 в 19:36)
 

Что-то опять ответов нет. Люди а-у вы где. Может все таки поможите.

   
Rambler's Top100
вверх

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