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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Регистрационная форма

Сообщения:  [1-10] 

 
 автор: strelok   (16.11.2005 в 10:58)   письмо автору
 
   для: cheops   (15.11.2005 в 22:42)
 

Ну он его создает.... т.е. вместо user там может быть любой ник... он файл создает выдает ошибки на пол экрана а сообщения типа "Пользователь зареганен!" нету!

   
 
 автор: cheops   (15.11.2005 в 22:42)   письмо автору
 
   для: strelok   (15.11.2005 в 19:51)
 

А файл data/users/user.php существует?

   
 
 автор: strelok   (15.11.2005 в 19:51)   письмо автору
 
   для: Саня.   (14.11.2005 в 21:46)
 

Пасиб, все супер, только если вводишь пользователя который уже есть ничего не происходит, а когда ты ввоишь нового пользователя, то вылетают ошибки и надпись типа юзер зареганен нет....
Я на денвере вот что увидел:

Warning: file(data/users/user.php): failed to open stream: No such file or directory in z:\home\test2.ru\www\reg.php on line 58
Notice: Undefined variable: site in z:\home\test2.ru\www\reg.php on line 67
Notice: Undefined variable: sex in z:\home\test2.ru\www\reg.php on line 68
Notice: Undefined variable: name in z:\home\test2.ru\www\reg.php on line 69
Notice: Undefined variable: years in z:\home\test2.ru\www\reg.php on line 70
Notice: Undefined variable: country in z:\home\test2.ru\www\reg.php on line 71
Notice: Undefined variable: city in z:\home\test2.ru\www\reg.php on line 72
Notice: Undefined variable: icq in z:\home\test2.ru\www\reg.php on line 73
Notice: Undefined variable: foto in z:\home\test2.ru\www\reg.php on line 74
Notice: Undefined variable: info in z:\home\test2.ru\www\reg.php on line 75

   
 
 автор: isset   (15.11.2005 в 00:33)   письмо автору
 
   для: Саня.   (15.11.2005 в 00:23)
 

Как раз таки != проверяет не равно ли ...
http://php.rinet.ru/manual/ru/language.operators.comparison.php

   
 
 автор: Саня.   (15.11.2005 в 00:23)
 
   для: Shorr Kan   (14.11.2005 в 23:27)
 

Оператор "=" - это оператор присваивания, "==" - равенства, "===" - эквиваленции.

if ($pass!=$pass2)
Если переменной $pass2 не удалось присвоить значение переменной $pass, то...

if ($pass!==$pass2)
Если значение переменной $pass не равно значению переменной $pass2, то...

if ($pass===$pass2)
Если переменная $pass и её значение эквивалентно переменной $pass2 и её значению, то...
(насчёт эквиваленции я не уверен, но думаю, что так)

   
 
 автор: Shorr Kan   (14.11.2005 в 23:27)   письмо автору
 
   для: Саня.   (14.11.2005 в 21:46)
 

Для собственного развития... а в чем разница, между

$pass!=$pass2

и

$pass!==$pass2

?

Нет, я в курсе, что $x===$y - проверяет еще и тип переменной.. Но как это в приведенном выше примере используется - я не пойму.

   
 
 автор: Саня.   (14.11.2005 в 21:46)
 
   для: strelok   (14.11.2005 в 19:20)
 


<?php
 
if (empty($_POST['action'])) {
?>
<html>
<form name="form1" method="post" action="reg.php">
<input type="hidden" name="action" value="true" />
   <table width="200" border="1">
    <tr>
      <td>&#205;&#232;&#234;</td>
      <td><input name="nick" type="text" id="nick"></td>
    </tr>
    <tr>
      <td>&#207;&#224;&#240;&#238;&#235;&#252;</td>
      <td><input name="pass" type="text" id="pass"></td>
    </tr>
    <tr>
      <td>&#207;&#238;&#226;&#242;&#238;&#240;&#237;&#251;&#233; &#239;&#224;&#240;&#238;&#235;&#252; </td>
      <td><input name="pass2" type="text" id="pass2"></td>
    </tr>
    <tr>
      <td><p>E-mail</p>
      </td>
      <td><input name="mail" type="text" id="mail"></td>
    </tr>
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
        <input type="submit" name="Submit" value="&#196;&#238;&#225;&#224;&#226;&#232;&#242;&#252;">
      </div></td>
    </tr>
  </table>
</form>
</html>
<?php
} else {
        
$error="";
        if(empty(
trim($_POST['nick']))) {
                
$error .= "&#194;&#251; &#237;&#229; &#243;&#234;&#224;&#231;&#224;&#235;&#232; &#232;&#236;&#255; &#239;&#238;&#235;&#252;&#231;&#238;&#226;&#224;&#242;&#229;&#235;&#255;!";
        }
        if(empty(
$_POST['pass'])) {
                
$error .= "<br>&#194;&#251; &#237;&#229; &#243;&#234;&#224;&#231;&#224;&#235;&#232; &#239;&#224;&#240;&#238;&#235;&#252;!";
        }
        if(
$_POST['pass'] !== $_POST['pass2']) {
                
$error .= "<br>&#207;&#224;&#240;&#238;&#235;&#232; &#237;&#229; &#241;&#238;&#226;&#239;&#224;&#228;&#224;&#254;&#242;!";
        }
        if(empty(
$_POST['mail'])) {
                
$error .= "<br>&#205;&#229; &#243;&#234;&#224;&#231;&#224;&#237; Email";
        }

        if (empty(
$error)) {
                include (
"conf.php");
                
$fp file("data/users/".strtolower($nick).".php");
                if(!
$fp) {
                        
$file "data/users/".strtolower($nick).".php";
                        
$cfp1 fopen($file"w+" );
                        
fputs ($cfp1"\<?php #&#200;&#237;&#244;&#238;&#240;&#236;&#224;&#246;&#232;&#255; &#239;&#238;&#235;&#252;&#231;&#238;&#226;&#224;&#242;&#229;&#235;&#255; $nick|||\n");
                        
fputs ($cfp1"#|nick|$nick|\n");
                        
fputs ($cfp1"#|pass|".md5($pass)."|\n");
                        
fputs ($cfp1"#|stat|user|\n");
                        
fputs ($cfp1"#|mail|$mail|\n");
                        
fputs ($cfp1"#|site|$site|\n");
                        
fputs ($cfp1"#|sex|$sex|\n");
                        
fputs ($cfp1"#|name|$name|\n");
                        
fputs ($cfp1"#|years|$years|\n");
                        
fputs ($cfp1"#|country|$country|\n");
                        
fputs ($cfp1"#|city|$city|\n");
                        
fputs ($cfp1"#|icq|$icq|\n");
                        
fputs ($cfp1"#|foto|$foto|\n");
                        
fputs ($cfp1"#|info|$info|\n");
                        
fputs ($cfp1"#|time|0:0:0|\n");
                        
fputs ($cfp1"\?>|||\n");
                        @
fflush($cfp1);
                        
fclose($cfp1);
                        
$error .= "&#207;&#238;&#235;&#252;&#231;&#238;&#226;&#224;&#242;&#229;&#235;&#252; ".$_POST['nick']." &#231;&#224;&#240;&#229;&#227;&#232;&#241;&#242;&#240;&#232;&#240;&#238;&#226;&#224;&#237;";
                }
        } else {
                echo (
$error);
        }
}
?>

   
 
 автор: strelok   (14.11.2005 в 21:03)   письмо автору
 
   для: Саня.   (14.11.2005 в 20:38)
 

Конечно прикольно, только если не вводишь ничего и жмешь на кнопку добавить ошибки нет....

   
 
 автор: Саня.   (14.11.2005 в 20:38)
 
   для: strelok   (14.11.2005 в 19:20)
 

Лучше вместо проверок на null ($nick==null) сделал бы так:

if(empty($nick)){ 
$error="Вы не указали имя пользователя!"; 
$html="<script>location.href='reg.php?error=$error&$all';</script>"; 
break; 

if(empty($pass)){ 
$error="<br>Вы не указали пароль!"; 
$html="<script>location.href='reg.php?error=$error&$all';</script>"; 
break; 

/*
А вот тут ошибка:
было написано $pass!=$pass2
*/
if($pass!==$pass2){ 
$error="<br>Пароли не совпадают!"; 
$html="<script>location.href='reg.php?error=$error&$all';</script>"; 
break; 

if(empty($mail)){ 
$error="<br>Не указан Email"; 
$html="<script>location.href='reg.php?error=$error&$all';</script>"; 
break; 
}



fputs ($cfp1, "?>|||\n");    <-вот здесь какбы происходит остановка из за ?> хотя дальше код идет и в конце есть ?>
/*  Надо экранировать спецсимвол "?" */
fputs ($cfp1, "\?>|||\n");

   
 
 автор: strelok   (14.11.2005 в 19:20)   письмо автору
 
 

Ребят я новичек, только начинаю познавать php решил написать регистрационную форму, только вышло что то не то... Просто тема такая надо создать файл с именем пользователя, в него воткнуть много заголовков для будущей инфы, а при регистрации в него будет вписывать только ник, пароль и почта... Все вроде работает через раз, но когда оставляешь свободное место в полях не выскакивает ошибки.... может я где то накасячил? Помогите плиз, если можно подправте мои ошибки...

<?php
global $r$error$nick$mail$site$name$years$country$city$icq$foto$info$pass$pass2;
include 
"conf.php";
?>
<html>
<form name="form1" method="post" action="reg.php">
   <table width="200" border="1">
    <tr>
      <td>Ник</td>
      <td><input name="nick" type="text" id="nick"></td>
    </tr>
    <tr>
      <td>Пароль</td>
      <td><input name="pass" type="text" id="pass"></td>
    </tr>
    <tr>
      <td>Повторный пароль </td>
      <td><input name="pass2" type="text" id="pass2"></td>
    </tr>
    <tr>
      <td><p>E-mail</p>
      </td>
      <td><input name="mail" type="text" id="mail"></td>
    </tr>
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
        <input type="submit" name="Submit" value="Добавить">
      </div></td>
    </tr>
  </table>
</form>
</html>
<?php

$error
=0;

if(
$nick==null){
$error="Вы не указали имя пользователя!";
$html="<script>location.href='reg.php?error=$error&$all';</script>";
break;
}
if(
$pass==""){
$error="<br>Вы не указали пароль!";
$html="<script>location.href='reg.php?error=$error&$all';</script>";
break;
}
if(
$pass!=$pass2){
$error="<br>Пароли не совпадают!";
$html="<script>location.href='reg.php?error=$error&$all';</script>";
break;
}
if(
$mail==""){
$error="<br>Не указан Email";
$html="<script>location.href='reg.php?error=$error&$all';</script>";
break;
}

if (
$error==null){
$fp=file("data/users/".strtolower($nick).".php");
if(!
$fp){
$file="data/users/".strtolower($nick).".php";
$cfp1 fopen($file"w+" );
 
fputs ($cfp1"<?php #Информация пользователя $nick|||\n");
 
fputs ($cfp1"#|nick|$nick|\n");
 
fputs ($cfp1"#|pass|".md5($pass)."|\n");
 
fputs ($cfp1"#|stat|user|\n");
 
fputs ($cfp1"#|mail|$mail|\n");
 
fputs ($cfp1"#|site|$site|\n");
 
fputs ($cfp1"#|sex|$sex|\n");
 
fputs ($cfp1"#|name|$name|\n");
 
fputs ($cfp1"#|years|$years|\n");
 
fputs ($cfp1"#|country|$country|\n");
 
fputs ($cfp1"#|city|$city|\n");
 
fputs ($cfp1"#|icq|$icq|\n");
 
fputs ($cfp1"#|foto|$foto|\n");
 
fputs ($cfp1"#|info|$info|\n");
 
fputs ($cfp1"#|time|0:0:0|\n");
 
fputs ($cfp1"?>|||\n");
 @
fflush($cfp1);
 
fclose($cfp1);
 
  
$html="<center><font face=Verdana size=22>Пользователь [$nick] зарегистрирован</font></center>";
}else {
$html="Такое имя пользователя уже зарегистрировано!<script>location.href='reg.php?error=Такое имя пользователя уже зарегистрировано!';</script>"; }}
?>


Отдельно еще вырезал код верхний, тут тоже что не понятное происходит...
И вот еще какая тема у меня почему то ошибка происходит здесь:
 fputs ($cfp1, "<?php #Информация пользователя $nick|||\n");
 
fputs ($cfp1"#|nick|$nick|\n");
 
fputs ($cfp1"#|pass|".md5($pass)."|\n");
 
fputs ($cfp1"#|stat|user|\n");
 
fputs ($cfp1"#|mail|$mail|\n");
 
fputs ($cfp1"#|site|$site|\n");
 
fputs ($cfp1"#|sex|$sex|\n");
 
fputs ($cfp1"#|name|$name|\n");
 
fputs ($cfp1"#|years|$years|\n");
 
fputs ($cfp1"#|country|$country|\n");
 
fputs ($cfp1"#|city|$city|\n");
 
fputs ($cfp1"#|icq|$icq|\n");
 
fputs ($cfp1"#|foto|$foto|\n");
 
fputs ($cfp1"#|info|$info|\n");
 
fputs ($cfp1"#|time|0:0:0|\n");
 
fputs ($cfp1"?>|||\n");    <-вот здесь какбы происходит остановка из за ?> хотя дальше код идет и в конце есть ?>


Зарание буду огромно благодарен!

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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