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

Форум PHP

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

 

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

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

тема: Глюки с регистрацией...
 
 автор: strelok   (22.11.2005 в 19:37)   письмо автору
 
 

Привет люди добрые! У меня поблема такая пишу скрипт с регистрацией, он отказваеться работать т.е. регистрировать пользователя! Но где то раза с 20 все идет как надо, т.е. если пароли не совпадают ошибка и все дела.. но потом все накрываеться... Как быть?
И потом я не знаю, может кто знает, как сделать чтоб ошибки сразу не вылетали что мол имя и все остальные дела не введены. У меня призагрузке страницы вылетает такое всегда!И глюки такие еще не всегда заменяеться [$login] на имя пользователя, не могу понять почему... И если данные не введены производиться создание файла без имени и туда вносяться пустые строчки... А хлеше всего если что то вввели не правильно, то файл всеравно создаетсья!! Помоги плиз, просто сел я написать и уже не могу оторваться от этого 2 недели не идет и все... (((

<?php
error_reporting
(0);
$fff "config.php";
if (
is_file($fff) && is_readable($fff)) {
        require(
$fff);
        if (
$reg == "no") {
                echo 
"<center>Извините, регистрация временно прекращена!</center>";
                exit();
        }
}
global 
$login$pass1$pass2$email$name$sexe$site$years$country$city$icq$foto$info;

?>
<html>
<head>
<title>Регистрация</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#DDDDDD">
  <form action="reg.php" method="post" name="f">
      <tr>
      <td width="25%">Логин</td>
      <td width="75%"><input type="text" maxlength="15" name="login"  style="width: 250"></td>
    </tr>
    <tr>
      <td>Пароль</td>
      <td><input  type="password" maxlength="15" name="pass1"  style="width: 250"></td>
    <tr>
      <td>Пароль еще раз</td>
      <td><input  type="password" maxlength="15" name="pass2"  style="width: 250"></td>
    </tr>
    <tr>
      <td>E-mail</td>
      <td><input type="text" name="email"  style="width: 250" maxlength="25"></td>
    </tr>
    <tr>
      <td>Пол</td>
      <td><select name="sexe" style="width:50%">
  <option value="М">Мужчина</option>
  <option value="Ж">Женщина</option></td>
    </tr>
    <tr>
      <td height="20" colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><center>
          <input type="submit" value="Зарегистрироваться" id="button1">
        </center></td>
    </tr>
  </form>
  </table>
</body>
</html>
<?php

if($login=="")
{
echo 
"<center>Вы не ввели ник!</center>";

}
if(
$pass1=="")
{
echo 
"<center>Вы не указали пароль!</center>" ;
}
if(
$pass1!=$pass2)
{
echo 
"<center>Пароли не совпадают!</center>"  ;
}
if(
$email=="")
{
echo 
"<center>Не указан адрес электронной почты!</center>"   ;
}
if(!
preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$email))
{
echo 
"<center>Неверный формат Email</center>"   ;
}
if(
$sexe!="М" and $sexe!="Ж"){
echo 
"<center>Вы не указали пол!</center>" ;
}

$fp=file("data/users/".strtolower($login).".php");
if(!
$fp){
$file="data/users/".strtolower($login).".php";
$cfp1 fopen($file"w+" );
 
fputs ($cfp1"<?php #Информация пользователя $nick|||\n");
 
fputs ($cfp1"#|login|$login|\n");
 
fputs ($cfp1"#|pass1|".md5($pass1)."|\n");
 
fputs ($cfp1"#|stat|user|\n");
 
fputs ($cfp1"#|email|$email|\n");
 
fputs ($cfp1"#|site|$site|\n");
 
fputs ($cfp1"#|sexe|$sexe|\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"#|come||\n");
 
fputs ($cfp1"#|out||\n");
 
fputs ($cfp1"#|chat_stat||\n");
 
fputs ($cfp1"\?>|||\n");
 @
fflush($cfp1);
 
fclose($cfp1);

echo 
"<center>Вы, [$login] зареганены!</center>";
}
else
{
        echo 
"<center>Такой [$login] пользователь уже зареганен!!!</center>";
}
?>

   
 
 автор: Saddam   (22.11.2005 в 20:10)   письмо автору
 
   для: strelok   (22.11.2005 в 19:37)
 

Не ясно, а где файл reg.php? Каково его содержание? Путано всё...

   
 
 автор: strelok   (22.11.2005 в 20:26)   письмо автору
 
   для: Saddam   (22.11.2005 в 20:10)
 

вообщето он и есть! @.@

   
 
 автор: Saddam   (22.11.2005 в 20:45)   письмо автору
 
   для: strelok   (22.11.2005 в 20:26)
 

ааа :)
Ну вообще в данном случае лучше в поле <form> значение action можно не указывать и тогда данные будут передаватся собственно в сам этот файл, а его можно называть как угодно. Understand ?) Писать код лень, просто объясню)
Тут вообщем если форма и обработчик в одном файле, то следует еще добавить в поле формы строку <input type=hidden name=action value=post>
Теперь структура такова:

<?
$action 
$_POST['action'];
if(!empty(
$action))
{
  
//Код обработчика
}
if(empty(
$action))
{
  
//Код формы
}
?>


И еще: проверьте свой код, там много помарок :)

   
Rambler's Top100
вверх

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