|
|
|
| Здравствуйте! хотел реализовать регистрация на сайте.
такой вопрос, при проверка заполнен ли или не правильно введен данные выводится сообщение
if (strlen($login) < 4 or strlen($login) > 20) {
exit ("Логин должен состоять не менее чем из 4 символов и не более чем из 20."); //останавливаем выполнение сценариев
}
|
вот в таком случаи у меня из-за exit(); не выводиться правый блок сайта и footer тоже.
скажите пожалуйста, как правильно писать проверку, чтобы в таком случаи выводилось сообщ. об не правильном вводе данных и правый блок тоже? | |
|
|
|
|
|
|
|
для: uvajs
(15.06.2010 в 01:25)
| | вместо exit сделайте echo, но это горю не поможет, это всего лишь верхушка айсберга. | |
|
|
|
|
|
|
|
для: Valick
(15.06.2010 в 01:29)
| | >вместо exit сделайте echo, но это горю не поможет, это всего лишь верхушка айсберга.
тогда выводится след. сообщение, пробовал... а другого варианта нету? | |
|
|
|
|
|
|
|
для: uvajs
(15.06.2010 в 01:25)
| | Вот небольшой пример. Собираем ошибки при заполнении формы, если ошибки есть то выводим их.
<?
function err_get($err)
{
foreach($err as $val)
{
echo "<p><font style='color:red;'>".$val."</font></p>";
}
}
if( (strlen($login) < 4) || (strlen($login) >20) ) $err[] = "Логин должен быть от 4 до 20 символов.";
if(!preg_match("|^[0-9a-zA-Z_\-]{4,16}$|i", $login ))
$err[] = "Логин должен состоять из латинских букв или цифр";
if(!$err)
{
........ // Тут если нет ошибок то заходим на сайт.
}
else err_get($err);
?>
|
| |
|
|
|
|
|
|
|
для: Usta
(15.06.2010 в 01:34)
| | >Вот небольшой пример.
не совсем понял, да и я не силен в php\ пожалуйсте подправьте код если вам не трудно
<?php
if (isset($_POST['login']))
{ $login = $_POST['login'];
if ($login == '') { unset($login);} }
if (isset($_POST['password']))
{ $password = $_POST['password']; if ($password =='') { unset($password);} }
if (isset($_POST['code'])) { $code = $_POST['code']; if ($code == '') { unset($code);} }
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} }
if (empty($login) or empty($password)or empty($code) or empty($email))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) {exit ("Неверно введен е-mail!");}
function generate_code() {
$hours = date("H"); // час
$minuts = substr(date("H"), 0 , 1);// минута
$mouns = date("m"); // месяц
$year_day = date("z"); // день в году
$str = $hours . $minuts . $mouns . $year_day; $str = md5(md5($str));
$str = strrev($str);//
$str = substr($str, 3, 6);
$array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
srand ((float)microtime()*1000000);
shuffle ($array_mix);
return implode("", $array_mix);
}
function chec_code($code){
$code = trim($code);
$array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
$m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
$result = array_intersect ($array_mix, $m_code);
if (strlen(generate_code())!=strlen($code))
{
return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (!chec_code($_POST['code']))
{
exit ("Вы ввели неверно код с картинки.");
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);
// дописываем новое********************************************
//добавляем проверку на длину логина и пароля
if (strlen($login) < 4 or strlen($login) > 20) {
exit ("Логин должен состоять не менее чем из 4 символов и
не более чем из 20.");
}
if (strlen($password) < 4 or strlen($password) > 20) {
exit ("Пароль должен состоять не менее чем из 4 символов и
не более чем из 20.");
}
if (empty($_FILES['fupload']['name']))
{
$avatar = "avatars/net-avatara.jpg";}
else
{
$path_to_90_directory = 'avatars/';
if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))
{
$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);
if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ;
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename);
}
// Создание квадрата 90x90
// dest - результирующее изображение
// w - ширина изображения
// ratio - коэффициент пропорциональности
$w = 90;
// создаём исходное изображение на основе
// исходного файла и определяем его размеры
$w_src = imagesx($im);
$h_src = imagesy($im);
$dest = imagecreatetruecolor($w,$w);
if ($w_src>$h_src)
imagecopyresampled($dest, $im, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
if ($w_src<$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));
if ($w_src==$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
$date=time();
imagejpeg($dest, $path_to_90_directory.$date.".jpg");
$avatar = $path_to_90_directory.$date.".jpg";
$delfull = $path_to_90_directory.$filename;
unlink ($delfull);
}
else
{
exit ("Аватар должен быть в формате <strong>JPG,GIF или
PNG</strong>");
}
}
$password = md5($password);
$password = strrev($password);
$password = $password."b3p6f";
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован.
Введите другой логин.");
}
$result2 = mysql_query ("INSERT INTO users
(login,password,avatar,email,date) VALUES
('$login','$password','$avatar','$email',NOW())");
if ($result2=='TRUE')
{
$result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db);
$myrow3 = mysql_fetch_array($result3);
$activation = md5($myrow3['id']).md5($login);
$subject = "Подтверждение регистрации";
$message = "Здравствуйте! Спасибо за регистрацию на
citename.ru\nВаш логин: ".$login."\n
Перейдите по ссылке, чтобы активировать ваш
аккаунт:\nhttp://engells.com/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация citename.ru";
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n");
echo "Вам на E-mail выслано письмо с cсылкой, для
подтверждения регистрации. Внимание! Ссылка действительна 1
час. <a href='index.php'>Главная страница</a>";
}
else {
exit ("Ошибка! Вы не зарегистрированы.");
}
?>
|
| |
|
|
|
|
|
|
|
для: uvajs
(15.06.2010 в 01:41)
| | Этот код стоит изрядно подправить... его автору. | |
|
|
|
|