|
|
|
| Привет люди добрые! У меня поблема такая пишу скрипт с регистрацией, он отказваеться работать т.е. регистрировать пользователя! Но где то раза с 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"> </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>";
}
?>
|
| |
|
|
|
|
|
|
|
для: strelok
(22.11.2005 в 19:37)
| | Не ясно, а где файл reg.php? Каково его содержание? Путано всё... | |
|
|
|
|
|
|
|
для: Saddam
(22.11.2005 в 20:10)
| | вообщето он и есть! @.@ | |
|
|
|
|
|
|
|
для: 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))
{
//Код формы
}
?>
|
И еще: проверьте свой код, там много помарок :) | |
|
|
|