<?php
mysql_connect('localhost','karolina','1234');
mysql_select_db('karolina');
echo '<form action="" method="post">
Email<input type="Email" name="e"><br><br>
Логин<input type="text" name="name"><br><br>
Имя<input type="text" name="name"><br><br>
Фамилия<input type="text" name="fam"><br><br>
Ник<input type="text" name="Nik"><br><br>
ICQ<input type="text" name="icq"><br><br>
<input type="submit" value="отправить" />
</form>';
$name = $name1['name'];
$to = (isset($_POST['e']))?$_POST['e']:false;
$subject = 'Регистрация завершина';
$message = 'Внимание!
Это письмо вам пришло от робота, на него отвечать не надо
----------------------------------------------------------
Если письмо пришло именно вам значит вы начали регестрацию на нашем сайте и хочете ее окончить
Перейдите по этой ссылки для окончания реггистрации http://rega.ru/text.php
Если же вы не начинали регестрацию не берите в голову это письмо, просто удалите его';
if(mail($to,$subject,$message))
mysql_close()
?>
потом мы переходим в почту получаем письмо и переходим по ссылке
<?
$login = (isset($_POST['name']))? $_POST['name']:false;
$hash = sha1($login);
$code = substr($hash, 0,7); // длиной 7 символов
echo $code;
?>
берёт логин юзера, т.к. он по идее должен быть уникальным но у меня он один почуму
Спустя 4 минуты, 56 секунд (18.03.2012 - 17:19) inpost написал(а):
mail($to,$subject,$message);
Это отправка письма, не надо лишних проверок делать через if().
А вопрос не понятен вообще. Кто где кодирует? Как кодирует?
Спустя 1 минута, 31 секунда (18.03.2012 - 17:20) Каролина написал(а):
исправвила
Спустя 4 минуты, 10 секунд (18.03.2012 - 17:25) Каролина написал(а):
помогите же
Спустя 19 минут, 56 секунд (18.03.2012 - 17:45) ADiel написал(а):
В чем вопрос?
научись темы создавать.
Приходишь в магазин и говоришь "Я тут бутерброд делаю. Помогите"
А надо всего то хлеба купить
научись темы создавать.
Приходишь в магазин и говоришь "Я тут бутерброд делаю. Помогите"
А надо всего то хлеба купить
Спустя 7 минут, 16 секунд (18.03.2012 - 17:52) ADiel написал(а):
Похоже, я понял
$_POST['name'] - это "имя"
Нужно быть внимательнее и проверять входящие данные/
Можно использовать print_r или var_dump
Логин<input type="text" name="name"><br><br>
Имя<input type="text" name="name"><br><br>
$_POST['name'] - это "имя"
Нужно быть внимательнее и проверять входящие данные/
Можно использовать print_r или var_dump
Спустя 22 минуты, 11 секунд (18.03.2012 - 18:14) Игорь_Vasinsky написал(а):
да что случилось то?
Спустя 50 минут, 22 секунды (18.03.2012 - 19:04) Каролина написал(а):
Игорь_Vasinsky
все в 1 посте понятно по полочкам розложено
ADiel
неработает твой вариант
все в 1 посте понятно по полочкам розложено
ADiel
неработает твой вариант
Спустя 6 минут, 10 секунд (18.03.2012 - 19:11) Игорь_Vasinsky написал(а):
А.. это типо:
Цитата |
<? $login = (isset($_POST['name']))? $_POST['name']:false; $hash = sha1($login); $code = substr($hash, 0,7); // длиной 7 символов echo $code; ?> берёт логин юзера, т.к. он по идее должен быть уникальным но у меня он один почуму |
А сколько логинов ты хочешь?
Спустя 4 минуты, 57 секунд (18.03.2012 - 19:15) Каролина написал(а):
гость должен сам ввести свой логин потом по почте получить письмо с подтверждением на регистрацию переходит по ссылке чтобы узнать свой пароль (но почему пароль постоянно одинаковый)
Спустя 1 минута, 26 секунд (18.03.2012 - 19:17) alex12060 написал(а):
Каролина
У тебя там полный бардак. Что-то где-то услышала и все.
Давай думать. Что у тебя не работает?
Собственно, письмо пришло, и, эта часть скрипта исполнилась, верно?
Далее, там, в письме, есть ссылка, по ней нужно пройти, верно? Верно.
Так вот, то, что у тебя написано здесь:
Полная ерунда. Во первых, если следовать логике твоего скрипта, то отправляется на почту письмо со ссылкой:
Так вот, при переходе по этой ссылке, мы попадаем в тот код, откуда он (код) ожидает получить логин, верно? Далее создать хеш и вывести на экран, верно? Верно.
А теперь 2 вопроса - Как мы передаем логин?
И вообще, зачем лезть в такие дебри?
Ответ: Никак.
Чтобы передался логин, нужно исправить 1 скрипт:
дальше, перейдя по ссылке, нужно принять логин:
Для приема данных с браузерной (адресной) строки, нужно обратиться к суперглобальному массиву $_GET, и уже оттуда вынуть наш логин.
Теперь, исправим 2 скрипт.
Теперь, все работает, и каждый раз ты видишь разные результаты.
У тебя там полный бардак. Что-то где-то услышала и все.
Давай думать. Что у тебя не работает?
Собственно, письмо пришло, и, эта часть скрипта исполнилась, верно?
Далее, там, в письме, есть ссылка, по ней нужно пройти, верно? Верно.
Так вот, то, что у тебя написано здесь:
<?
$login = (isset($_POST['name']))? $_POST['name']:false;
$hash = sha1($login);
$code = substr($hash, 0,7); // длиной 7 символов
echo $code;
?>
Полная ерунда. Во первых, если следовать логике твоего скрипта, то отправляется на почту письмо со ссылкой:
http://rega.ru/text.php
Так вот, при переходе по этой ссылке, мы попадаем в тот код, откуда он (код) ожидает получить логин, верно? Далее создать хеш и вывести на экран, верно? Верно.
А теперь 2 вопроса - Как мы передаем логин?
И вообще, зачем лезть в такие дебри?
Ответ: Никак.
Чтобы передался логин, нужно исправить 1 скрипт:
<?php
mysql_connect('localhost','karolina','1234');
mysql_select_db('karolina');
echo '<form action="" method="post">
Email<input type="Email" name="e"><br><br>
Логин<input type="text" name="name"><br><br>
Имя<input type="text" name="name"><br><br>
Фамилия<input type="text" name="fam"><br><br>
Ник<input type="text" name="Nik"><br><br>
ICQ<input type="text" name="icq"><br><br>
<input type="submit" value="отправить" />
</form>';
$name = $_POST['name'];
$to = (isset($_POST['e']))?$_POST['e']:false;
$subject = 'Регистрация завершина';
$message = 'Внимание!
Это письмо вам пришло от робота, на него отвечать не надо
----------------------------------------------------------
Если письмо пришло именно вам значит вы начали регестрацию на нашем сайте и хочете ее окончить
Перейдите по этой ссылки для окончания реггистрации http://rega.ru/text.php?login='.$name.'
Если же вы не начинали регестрацию не берите в голову это письмо, просто удалите его';
mail($to,$subject,$message);
mysql_close();
?>
дальше, перейдя по ссылке, нужно принять логин:
Для приема данных с браузерной (адресной) строки, нужно обратиться к суперглобальному массиву $_GET, и уже оттуда вынуть наш логин.
Теперь, исправим 2 скрипт.
<?php
$login = !empty($_GET['login']) ? $_GET['login'] : '';
$hash = sha1($login);
$code = substr($hash, 0, 7); // длиной 7 символов
echo $code;
?>
Теперь, все работает, и каждый раз ты видишь разные результаты.
Спустя 7 минут, 22 секунды (18.03.2012 - 19:24) Каролина написал(а):
спс один вопрос почему перед empty вы поставили !
Спустя 1 минута, 43 секунды (18.03.2012 - 19:26) Игорь_Vasinsky написал(а):
alex12060
+1 за выдержку.
+1 за выдержку.
Цитата |
спс один вопрос почему перед empty вы поставили ! |
так ты почитай хоть что это такое. те 10 раз сказали - читай.
Спустя 3 минуты, 42 секунды (18.03.2012 - 19:30) Каролина написал(а):
читала
Спустя 8 минут, 6 секунд (18.03.2012 - 19:38) Игорь_Vasinsky написал(а):
ну а чё вопросы задаёшь?
Спустя 2 минуты, 5 секунд (18.03.2012 - 19:40) Каролина написал(а):
в книге не было такого написано
Спустя 29 секунд (18.03.2012 - 19:40) alex12060 написал(а):
Каролина
Давай на примере.
Ссылки для чтения:
Типы данных PHP
Переменные. Основы.
Конструкция IF
Конструкция ELSE
Дальше, больше.
Давай на примере.
<?php
$x = 10;
$y = '';
$z = array();
$c = array(1 => 'test');
/*
Итак, пробежимся по условиям и тернарным операциям.
Пусть, у нас есть 3 переменные - $x, $y, $z
*/
// Проверим, пустая ли первая переменная.
// Что значит пустая переменная? Это значит, что в ней нет данных, или
// содержаться один из специальных значений
// такие, как null, false или array() или object {}
// Так, теперь к вкусному. Будем проверять, пустые ли переменные.
// Итак, узнаем, пустая ли переменная $x
if (empty($x))
echo '$x пуста';
else
echo '$x не пуста';
// Тут должно вывести $x не пуста, так как $x действительно не пуста, и содержит цифру 10
// Проверим остальные.
if (empty($y))
echo '$y пуста';
else
echo '$y не пуста';
// $y пуста, так как содержит пустое значение.
if (empty($z))
echo '$z пуста';
else
echo '$z не пуста';
// $z пуста, так как содержит пустой массив.
if (empty($c))
echo '$c пуста';
else
echo '$c не пуста';
// $c не пуста, так как содержит не пустой массив.
// Так, думаю, тут понятно. Теперь посложней.
// В курсе логической алгебры и информатики изучаются такие понятия, как логические И, ИЛИ и НЕ
// Об этом в следующем комментарии.
?>
Ссылки для чтения:
Типы данных PHP
Переменные. Основы.
Конструкция IF
Конструкция ELSE
Дальше, больше.
Спустя 1 минута (18.03.2012 - 19:41) Каролина написал(а):
эт знаю
Спустя 46 секунд (18.03.2012 - 19:42) Каролина написал(а):
мне это нравится давай еще
Спустя 3 минуты, 33 секунды (18.03.2012 - 19:46) vinnie написал(а):
Ненасытная)
Спустя 9 минут, 34 секунды (18.03.2012 - 19:55) Каролина написал(а):
угу
Спустя 52 секунды (18.03.2012 - 19:56) vinnie написал(а):
Разобралась с кодом?
Спустя 4 минуты, 10 секунд (18.03.2012 - 20:00) Каролина написал(а):
я вот скрипт изменила капчу дабавила проблема с логином 20 мин сижу думаю
<?php
mysql_connect('localhost','karolina','1234');
mysql_select_db('karolina');
$alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$secret = "";
for($i=0;$i<5;$i++)
$secret.= $alpha[rand(0,strlen($alpha)-1)];
session_id(md5(microtime()*rand()));
$_SESSION['secret'] = $secret;
?>
<form method="get">
Логин:<input type="text" name="name"> <br>
Имя:<input type="text" name="name1"> <br>
Фамилия:<input type="text" name="fam"> <br>
Email<input type="Email" name="e"><br>
Введите символы с картинки:<input typ="text" name="secret">
</form>
<img src="img.php?sid=<?=session_id();?>">
<form method="get">
<input type="submit" value="зарегестрироваться" name="send"/>
</form>
<?
$name = $_POST['name'];
$to = (isset($_POST['e']))?$_POST['e']:false;
$subject = 'Регистрация завершина';
$message = 'Внимание!
Это письмо вам пришло от робота, на него отвечать не надо
---------------------------------------------------------------------------------------------------- -------
Если письмо пришло именно вам значит вы начали регестрацию на нашем сайте и хочете ее окончить
Перейдите по этой ссылки для окончания реггистрации http://rega.ru/text.php?login='.$name.'
Если же вы не начинали регестрацию не берите в голову это письмо, просто удалите его';
mail($to,$subject,$message);
mysql_close();
?>
Спустя 1 минута, 53 секунды (18.03.2012 - 20:02) vinnie написал(а):
Назвать капчей это нельзя
Спустя 1 минута, 11 секунд (18.03.2012 - 20:03) Каролина написал(а):
2 код от капчи
<?php
/**
* Генерирует строку случайных символов
*
* @param int $length - длина строки
* @param string $case - регистр генерируемых символов, может быть lower, upper,
* both. Если не передан ни один из вышеперечисленных, то
* используется lower
* @return string - строка, состоящая из случайных символов заданной длины
*
*/
function getRandomString($length, $case = 'lower')
{
/* Латинские символы, похожие на символы кирилицы:
* в ниженем регистре: a b c e o p x l
* в верхнем регистре: A B C E H K M O P T X
*/
$ban_chars = array('a', 'b', 'c', 'e', 'o', 'p', 'x', 'l',
'A', 'B', 'C', 'E', 'H', 'K', 'M', 'O', 'P', 'T', 'X');
// В зависимости от $case формирую массив диапазонов символов, из которых
// можно выбирать
switch ($case)
{
case 'upper':
$random_chars = range('A', 'Z');
break;
case 'both':
$random_chars = array_merge(range('a', 'z'), range('A', 'Z'));
break;
case 'lower':
default:
$random_chars = range('a', 'z');
break;
}
// Добавляю цифр (ноль похож на O_o, по этому игнорируем)
$random_chars = array_merge(range(1, 9), $random_chars);
// Удаляю неоднозначные символы
$random_chars = array_diff($random_chars, $ban_chars);
// Перемешиваю массив
shuffle($random_chars);
// Беру первые $length элементов
$chars = array_slice($random_chars, 0, $length);
// Соединяю их в строку и - марш на выход.
return implode('', $chars);
}
// Начинаем сессию, далее мы добавим в нее ключ
session_start();
// Получаю строку из пяти случайных символов
$string = getRandomString(7, 'lower');
// Задаем размеры капчи (самой картинки) в пикселях
$width = 150;
$height = 23;
// Строим пустое изображение. К высоте добавляется 15 пикселей, это будет белая
// полосочка снизу с текстом "press to change"
$captcha = imagecreatetruecolor($width, $height + 15);
// Получаю случайный цвет для фона
$bg = imagecolorallocate($captcha, mt_rand(10, 50), mt_rand(10, 50), mt_rand(10, 50));
// Определяю цвет фона для строки
$font_color = imagecolorallocate($captcha, mt_rand(220, 255), mt_rand(220, 255), mt_rand(220, 255));
$white = imagecolorallocate($captcha, 255, 255, 255);
$black = imagecolorallocate($captcha, 0, 0, 0);
// Заливаю капчу цветом фона, но оставляю снизу белую полоску
imagefill($captcha, 0, 0, $white);
imagefilledrectangle($captcha, 0, 0, $width, $height, $bg);
// "Разбрасываю" в случайном порядке четыре линии по капче. Цвета линий тоже
// определяются случайно
for ($i = 0; $i < 4; $i++)
{
// Создаю случайный цвет для очередной линии
$color = imagecolorallocate($captcha, mt_rand(170, 255), mt_rand(170, 255), mt_rand(170, 255));
// Черчу линию между двумя случайными точками
imageline(
$captcha,
mt_rand(0, $width - 22),
mt_rand(0, $height - 1),
mt_rand(0, $width - 1),
mt_rand(0, $height - 1),
$color
);
}
// Пишу эту случайную строку в капче
imagestring($captcha, 5, 33, 4, $string, $font_color);
// Указание пользователю
$how_refresh = 'press to change';
imagestring($captcha, 3, 2, 26, $how_refresh, $black);
// Сохраняю строку в сессии
$_SESSION['key'] = $string;
// Отсылаем заголовок браузеру, что ему сейчас будет передана картинка
header('Content-type: image/png');
// Отсылаем картинку в стандартный выходной поток (в браузер)
imagepng($captcha);
?><?php
/**
* Генерирует строку случайных символов
*
* @param int $length - длина строки
* @param string $case - регистр генерируемых символов, может быть lower, upper,
* both. Если не передан ни один из вышеперечисленных, то
* используется lower
* @return string - строка, состоящая из случайных символов заданной длины
*
*/
function getRandomString($length, $case = 'lower')
{
/* Латинские символы, похожие на символы кирилицы:
* в ниженем регистре: a b c e o p x l
* в верхнем регистре: A B C E H K M O P T X
*/
$ban_chars = array('a', 'b', 'c', 'e', 'o', 'p', 'x', 'l',
'A', 'B', 'C', 'E', 'H', 'K', 'M', 'O', 'P', 'T', 'X');
// В зависимости от $case формирую массив диапазонов символов, из которых
// можно выбирать
switch ($case)
{
case 'upper':
$random_chars = range('A', 'Z');
break;
case 'both':
$random_chars = array_merge(range('a', 'z'), range('A', 'Z'));
break;
case 'lower':
default:
$random_chars = range('a', 'z');
break;
}
// Добавляю цифр (ноль похож на O_o, по этому игнорируем)
$random_chars = array_merge(range(1, 9), $random_chars);
// Удаляю неоднозначные символы
$random_chars = array_diff($random_chars, $ban_chars);
// Перемешиваю массив
shuffle($random_chars);
// Беру первые $length элементов
$chars = array_slice($random_chars, 0, $length);
// Соединяю их в строку и - марш на выход.
return implode('', $chars);
}
// Начинаем сессию, далее мы добавим в нее ключ
session_start();
// Получаю строку из пяти случайных символов
$string = getRandomString(7, 'lower');
// Задаем размеры капчи (самой картинки) в пикселях
$width = 150;
$height = 23;
// Строим пустое изображение. К высоте добавляется 15 пикселей, это будет белая
// полосочка снизу с текстом "press to change"
$captcha = imagecreatetruecolor($width, $height + 15);
// Получаю случайный цвет для фона
$bg = imagecolorallocate($captcha, mt_rand(10, 50), mt_rand(10, 50), mt_rand(10, 50));
// Определяю цвет фона для строки
$font_color = imagecolorallocate($captcha, mt_rand(220, 255), mt_rand(220, 255), mt_rand(220, 255));
$white = imagecolorallocate($captcha, 255, 255, 255);
$black = imagecolorallocate($captcha, 0, 0, 0);
// Заливаю капчу цветом фона, но оставляю снизу белую полоску
imagefill($captcha, 0, 0, $white);
imagefilledrectangle($captcha, 0, 0, $width, $height, $bg);
// "Разбрасываю" в случайном порядке четыре линии по капче. Цвета линий тоже
// определяются случайно
for ($i = 0; $i < 4; $i++)
{
// Создаю случайный цвет для очередной линии
$color = imagecolorallocate($captcha, mt_rand(170, 255), mt_rand(170, 255), mt_rand(170, 255));
// Черчу линию между двумя случайными точками
imageline(
$captcha,
mt_rand(0, $width - 22),
mt_rand(0, $height - 1),
mt_rand(0, $width - 1),
mt_rand(0, $height - 1),
$color
);
}
// Пишу эту случайную строку в капче
imagestring($captcha, 5, 33, 4, $string, $font_color);
// Указание пользователю
$how_refresh = 'press to change';
imagestring($captcha, 3, 2, 26, $how_refresh, $black);
// Сохраняю строку в сессии
$_SESSION['key'] = $string;
// Отсылаем заголовок браузеру, что ему сейчас будет передана картинка
header('Content-type: image/png');
// Отсылаем картинку в стандартный выходной поток (в браузер)
imagepng($captcha);
?>
Спустя 34 секунды (18.03.2012 - 20:04) vinnie написал(а):
type="Email"
Этому кто тя научил? Не годится твой код ваще. вот смотрю код и мозг ломается
Спустя 1 минута, 29 секунд (18.03.2012 - 20:05) Каролина написал(а):
какой именно
Спустя 1 минута, 17 секунд (18.03.2012 - 20:07) vinnie написал(а):
В ссылке надо передавать случайную строку, а ты логин передаешь
Спустя 32 секунды (18.03.2012 - 20:07) vinnie написал(а):
Твой код не годится... то есть первый
Спустя 1 минута, 9 секунд (18.03.2012 - 20:08) Каролина написал(а):
а почему я просто капчю добавила и все испаганила
Спустя 1 минута, 51 секунда (18.03.2012 - 20:10) vinnie написал(а):
да? тогда все гуд! стиль, код в поряде! молодец!
Спустя 3 минуты, 22 секунды (18.03.2012 - 20:14) alex12060 написал(а):
Ну а теперь о логических И, ИЛИ и НЕ
Пусть, у нас есть те же переменные.
Дальше, разберёмся с теорией.
Итак, логическое И, это операция, которая превращается в правду, когда x1 И x2 равны истине.
Давай на примере, простом и банальном.
Итак, ответом будет верно, так как 2 + 2 равно 4 И 5 + 5 = 10.
Попробуем по другому.
Итак, ответом будет неверно, так как 2 + 2 равно 4, а не 5, поэтому, первое выражение в скобках вернет ложь (false) и условие x1 И x2 равны истине не выполняется.
а если нам нужно, чтобы выполнялось одно из условий? Тут поможет логическое ИЛИ.
Допустим, есть вечеринка. И есть гости, приглашенные на вечеринку: Вася, Петя, Миша, Саша, Даша, Маша, Паша и т.д.
Так вот, вечеринка считается состоявшейся, если на нее пришло больше 3-х человек или все.
А у нас на вечеринку пришло 5 человек. Определим, состоялась ли вечеринка, или нет.
Итак, в нашем случае, выполняется лишь одно условие - $count_visitors >= 5, так как на вечеринку пришло 5 человек, а 5 > 3. Ну а второе условие означает, что пришли все участники вечеринки. Если поставить логическое И, то нам скажут, что тусить будем в слеждующий раз, почему, ты должна сама уже ответить.
У логического ИЛИ основной вид такой: x1 истина ИЛИ x2 истина
Ну а если изменим наш скрипт так:
То нам сообщат, что будем отрываться потом, увы, так как пришло всего 2 человека, а 2 < 3 и не выполняется 2 условие, так как 2 не равно 13.
Ну а теперь о логическом НЕ
Логическое НЕ нужно нам для тех случаев, когда нужно одно булево значение превратить в противоположное.
Вкратце о булевых значениях - 0 - ложь - false, 1 - истина - true
Собственно, если у нас x1 = true, то НЕx1 = false.
На примерах:
Вот на данный момент, что у нас, вечер? Ответ: Да. Вот наш скрипт, с вечером.
И наше условие выведет сообщение: Сейчас вечер
А если поставить логическое НЕ, то:
Наше условие выведет сообщение: Сейчас что угодно, но не вечер, так как мы изменили значение на противоположное.
Логическое НЕ работает только с булевыми значениями, ровно также, как и И и ИЛИ
Если рассматривать твой пример, то:
Эта конструкция читается так:
Если НЕ пустое значение элемента login массива $_GET, то присваиваем переменной значение $_GET['login'], иначе - пустое значение
Вот. Тут я и закончу.
Почитать:
Тернарная операция
Функция empty
Логические операторы
Пусть, у нас есть те же переменные.
<?php
$x = 10;
$y = '';
$z = array();
$c = array(1 => 'test');
Дальше, разберёмся с теорией.
Итак, логическое И, это операция, которая превращается в правду, когда x1 И x2 равны истине.
Давай на примере, простом и банальном.
if (( 2 + 2 == 4 ) && ( 5 + 5 == 10 ))
echo 'Верно';
else
echo 'Неверно';
Итак, ответом будет верно, так как 2 + 2 равно 4 И 5 + 5 = 10.
Попробуем по другому.
if (( 2 + 2 == 5 ) && ( 5 + 5 == 10 ))
echo 'Верно';
else
echo 'Неверно';
Итак, ответом будет неверно, так как 2 + 2 равно 4, а не 5, поэтому, первое выражение в скобках вернет ложь (false) и условие x1 И x2 равны истине не выполняется.
а если нам нужно, чтобы выполнялось одно из условий? Тут поможет логическое ИЛИ.
Допустим, есть вечеринка. И есть гости, приглашенные на вечеринку: Вася, Петя, Миша, Саша, Даша, Маша, Паша и т.д.
Так вот, вечеринка считается состоявшейся, если на нее пришло больше 3-х человек или все.
А у нас на вечеринку пришло 5 человек. Определим, состоялась ли вечеринка, или нет.
$count_visitors = 5; // Сколько пришло
$total_count = 13; // Сколько пригласили
if ($count_visitors > 3 || $total_count == $count_visitors)
echo 'Вечеринка состоялась';
else
echo 'В другой раз оторвемся';
Итак, в нашем случае, выполняется лишь одно условие - $count_visitors >= 5, так как на вечеринку пришло 5 человек, а 5 > 3. Ну а второе условие означает, что пришли все участники вечеринки. Если поставить логическое И, то нам скажут, что тусить будем в слеждующий раз, почему, ты должна сама уже ответить.
У логического ИЛИ основной вид такой: x1 истина ИЛИ x2 истина
Ну а если изменим наш скрипт так:
$count_visitors = 2; // Сколько пришло
$total_count = 13; // Сколько пригласили
if ($count_visitors > 3 || $total_count == $count_visitors)
echo 'Вечеринка состоялась';
else
echo 'В другой раз оторвемся';
То нам сообщат, что будем отрываться потом, увы, так как пришло всего 2 человека, а 2 < 3 и не выполняется 2 условие, так как 2 не равно 13.
Ну а теперь о логическом НЕ
Логическое НЕ нужно нам для тех случаев, когда нужно одно булево значение превратить в противоположное.
Вкратце о булевых значениях - 0 - ложь - false, 1 - истина - true
Собственно, если у нас x1 = true, то НЕx1 = false.
На примерах:
Вот на данный момент, что у нас, вечер? Ответ: Да. Вот наш скрипт, с вечером.
$evening = true;
if ($evening == true)
echo 'Сейчас вечер';
else
echo 'Сейчас что угодно, но не вечер';
И наше условие выведет сообщение: Сейчас вечер
А если поставить логическое НЕ, то:
$evening = true;
if (!($evening == true))
echo 'Сейчас вечер';
else
echo 'Сейчас что угодно, но не вечер';
Наше условие выведет сообщение: Сейчас что угодно, но не вечер, так как мы изменили значение на противоположное.
Логическое НЕ работает только с булевыми значениями, ровно также, как и И и ИЛИ
Если рассматривать твой пример, то:
$login = !empty($_GET['login']) ? $_GET['login'] : '';
Эта конструкция читается так:
Если НЕ пустое значение элемента login массива $_GET, то присваиваем переменной значение $_GET['login'], иначе - пустое значение
Вот. Тут я и закончу.
Почитать:
Тернарная операция
Функция empty
Логические операторы
Спустя 52 секунды (18.03.2012 - 20:14) Каролина написал(а):
стиль не мой это все форум помог
Спустя 2 минуты, 4 секунды (18.03.2012 - 20:16) Каролина написал(а):
большое спс и за теорию и за выдержку
Спустя 1 минута, 24 секунды (18.03.2012 - 20:18) vinnie написал(а):
Терь ты вооружена!
Спустя 43 секунды (18.03.2012 - 20:19) Каролина написал(а):
в каком смысле
Спустя 58 секунд (18.03.2012 - 20:20) vinnie написал(а):
Все по полочкам те ж разложили) те действительно 11 лет?
Спустя 36 секунд (18.03.2012 - 20:20) Каролина написал(а):
11,5
Спустя 28 секунд (18.03.2012 - 20:21) vinnie написал(а):
боюсь, в 20 лет уже банки будешь "обходить" )
Спустя 54 секунды (18.03.2012 - 20:22) Каролина написал(а):
в каком смысле
Спустя 52 секунды (18.03.2012 - 20:22) Каролина написал(а):
у тя ник юрич
Спустя 55 секунд (18.03.2012 - 20:23) vinnie написал(а):
да, тока на фотке не я
Спустя 17 секунд (18.03.2012 - 20:24) Каролина написал(а):
да я поняла
давай дальше по теме
давай дальше по теме
Спустя 36 минут, 42 секунды (18.03.2012 - 21:00) Каролина написал(а):
ау
Спустя 2 минуты, 59 секунд (18.03.2012 - 21:03) beginner95 написал(а):
По мне капчу делать математическую она более эффективная и легка в написании и прикручивать ее куда легче чем другой тип
Спустя 3 минуты, 33 секунды (18.03.2012 - 21:07) Каролина написал(а):
как ее к моему скрипту прикрутить правильно
Спустя 1 минута (18.03.2012 - 21:08) ADiel написал(а):
Ты сама хоть строчку кода написала?
Спустя 3 минуты, 6 секунд (18.03.2012 - 21:11) inpost написал(а):
Каролина
Ты голову паришь себе не тем, чем надо, увы.
Ты голову паришь себе не тем, чем надо, увы.
Спустя 20 секунд (18.03.2012 - 21:11) Каролина написал(а):
я весь скрипт написала но его чуть подправили
Спустя 3 минуты, 16 секунд (18.03.2012 - 21:15) beginner95 написал(а):
<?php
session_start();
........
$a = rand(1,9);
$b = rand(1,9);
$_SESSION['res'] = $a + $b;
echo '<b>'.$a.'+'.$b.'</b><br>';
echo '<p>Введите ответ</p>';
echo '<input type="text" name="result">';
..........
?>
на а далее проверяешь с условием на правильность введенного ответа
Спустя 1 минута (18.03.2012 - 21:16) Каролина написал(а):
beginner95
это что
это что
Спустя 1 минута, 15 секунд (18.03.2012 - 21:17) ADiel написал(а):
Цитата |
я весь скрипт написала но его чуть подправили |
Данунафиг!
Спустя 2 минуты, 37 секунд (18.03.2012 - 21:19) beginner95 написал(а):
Каролина
А на что похоже ? ))))
это вроде каптча
А на что похоже ? ))))
это вроде каптча
Спустя 20 секунд (18.03.2012 - 21:20) Каролина написал(а):
неверите
Спустя 31 секунда (18.03.2012 - 21:20) Каролина написал(а):
моя капча лучше
Спустя 5 минут, 9 секунд (18.03.2012 - 21:25) beginner95 написал(а):
Цитата (Каролина @ 18.03.2012 - 21:20) |
моя капча лучше |
И чем же обоснуйте
Спустя 1 минута (18.03.2012 - 21:26) Каролина написал(а):
езнаю просто своя круче
Спустя 4 минуты, 34 секунды (18.03.2012 - 21:31) ADiel написал(а):
beginner95,
#<b>(\d{1})\+(\d{1})</b>#
А потом $matches[1]+$matches[2] отправляем с помощью curl.
#<b>(\d{1})\+(\d{1})</b>#
А потом $matches[1]+$matches[2] отправляем с помощью curl.
Спустя 6 минут, 11 секунд (18.03.2012 - 21:37) beginner95 написал(а):
Цитата (ADiel @ 18.03.2012 - 21:31) |
beginner95, #<b>(\d{1})\+(\d{1})</b># А потом $matches[1]+$matches[2] отправляем с помощью curl. |
вы меня уж извините но я не совсем вас понял
Спустя 10 минут, 50 секунд (18.03.2012 - 21:48) alex12060 написал(а):
Каролина
Пожалуйста, ты не понимаешь и не знаешь основ. Брось это дело и посмотри Попова! Именно посмотри, пойми что и как делается, но не делай сайт по его подобию. Потом уже начинай делать сама.
А так, ты просто съедаешь людям мозг. Если ты хочешь знаний и действий - действуй, скачай Попова и посмотри.
Пожалуйста, ты не понимаешь и не знаешь основ. Брось это дело и посмотри Попова! Именно посмотри, пойми что и как делается, но не делай сайт по его подобию. Потом уже начинай делать сама.
А так, ты просто съедаешь людям мозг. Если ты хочешь знаний и действий - действуй, скачай Попова и посмотри.
Спустя 13 минут, 50 секунд (18.03.2012 - 22:02) vinnie написал(а):
Вроде робот уравнения решает лучше человека
Спустя 10 часов, 4 минуты, 47 секунд (19.03.2012 - 08:07) beginner95 написал(а):
Цитата (vinnie @ 18.03.2012 - 22:02) |
Вроде робот уравнения решает лучше человека |
<?php
header ('Content-type:text/html; charset=utf-8');
$arr = array(array(0 => 'Название нашей планеты',
1 => 'земля'),
array(0 => 'Рай и ...',
1 => 'ад'),
array(0 => 'Царь зверей',
1 => 'лев')
);
$key_rend = rand(0,count($arr) - 1);
$_SESSION['res'] = $arr[$key_rend][1];
echo '<form action="" method="POST">';
echo $arr[$key_rend][0];
echo '<input type="text" name="res">';
echo '<input type="submit" name="ok" value="Проверить">';
echo '</form>';
if(isset($_POST['ok']))
{
if(empty($_POST['res']))
echo 'Не введен ответ';
else
$res = $_POST['res'];
if($res == $_SESSION['res'])
echo 'Ответе не верен';
else
echo 'Кодируй дальше';
}
?>
А как вот это каптча ? :)
Спустя 2 дня, 8 часов, 29 минут, 51 секунда (21.03.2012 - 16:36) Каролина написал(а):
норм
_____________
wmu (U398141202367)
wmr (R321962242752)[SIZE=7][COLOR=purple]