1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. sa64ka
  2. sa64ka
  3. sa64ka
  4. sa64ka
  5. sa64ka
  6. sa64ka
  7. sa64ka
    Сообщение

    Уроки по PHP

    Как PHP внедряется в HTML документ. Язык PHP очень прост и популярен, потому что все команды, написанные на нем, просто вставляются в обычный HTML-код и Вам не нужно создавать никаких отдельных приложений. Все что вам потребуется это изменить расширение вашей странички с .html на .php. Так как PHP вставляется в обычный HTML документ, требуется обозначать эти команды, чтобы интерпретатор PHP мог определить начало и конец участка HTML-кода, содержащего PHP-скрипт. Для этого применяются следующие теги: <? Скрипт ?> <?php Скрипт ?> <script type="php">Скрипт</script> Самым распространенным является первый и второй варианты. Теперь все что заключено между этими тегами будет считаться PHP-скриптом. Когда PHP обрабатывает файл, он просто передаёт его текст, пока не встретит один из специальных тегов, который сообщает ему о необходимости начать интерпретацию текста как кода PHP. Затем он выполняет весь найденный код до закрывающего тега, говорящего интерпретатору, что далее снова идет просто текст. Этот механизм позволяет вам внедрять PHP-код в HTML и все, что находится за пределами тегов PHP, остается неизменным. Поэтому этот язык веб программирования является очень удобным и простым в использовании. Создаем наш первый PHP-скрипт Для того чтобы создаем наш первый PHP-скрипт, потребуется создать файл с расширением .php, например index.php. В нем напишем основные теги HTML и вставим первый простую функцию, написанную на PHP, которая будет выводить обычный текст: <html> <head> <title>Тестируем PHP</title> </head> <body> <?php echo "Мой первый PHP-скрипт"; ?> </body> </html> Функция echo выводит данные на экран. В конце каждого функции ставится точка с запятой. Обратившись к этому файлу через браузер, Вы должны увидеть «Мой первый PHP-скрипт». Если Вы посмотрите исходный код страницы, то увидите, что это обычный HTML код. То есть PHP обрабатывает наши команды на сервере и возвращает нам его результат. Так же с помощью echo можно выводить и HTML код, но есть одна особенность, о которой поговорим поподробнее. Дело в том, что этот код может содержать двойные кавычки и если интерпретатор встречает их, то он считает, что здесь заканчиваются открытые кавычки и поэтому, то, что будет идти после них, вызовет ошибку. Чтобы такой проблемы не возникало нужно двойные кавычки экранировать при помощи слеша либо использовать одинарные: <?php echo "<div width=\"200\">Текст</div>"; ?> //Или так <?php echo "<div width='200'>Текст</div>"; ?> Также для вывода на экран служат другие операторы такие как: print, printf(). Переменные в PHP Как и во всех языках программирования в PHP существует переменные, которым можно присваивать данные и оперировать ими. В PHP переменные обозначаются значком доллара $, и выглядят примерно так $а или $peremennaya. Чтобы создать переменную не нужно дополнительно их объявлять, мы просто пишем ее и присваиваем ей какое-нибудь значение: <?php $а = "Привет"; $peremennaya = 7; ?> В этих строчках мы присвоили переменной a значение Привет, а переменой peremennaya значение 7. Вы наверно заметили, что слово привет заключено в кавычки, а цифра 7 нет. Просто в PHP все текстовые данные должны заключаются в кавычки, иначе это вызовет ошибку, а числовые допускается писать без кавычек, но если вы их поставите, то ничего страшного не произойдет. Так же не путайте, знак = в PHP обозначает присвоение, а не равенство. Когда мы присвоили переменным значения мы можем вывести их на экран или занести в базу данных. В заключении хотелось бы сказать одно важное замечание о том, что все переменные в PHP не должны начинаться с цифр. В качестве примера рассмотрим правильное и ошибочное написание переменных. Правильно: $а = "Привет"; $peremennaya3 = 7; Неправильно: $3а = "Привет"; $4text = 7; Условия в PHP К условий в PHP можно отнести конструкции if(условие){Действие 1} else{Действие 2} и switch(). Поговорим поподробнее о первом. Данный конструкция проверяет условие, если оно верно, то выполняется Действие 1, если же условие не выполняется, то выполняется Действие 2. Так же возможна короткая форма записи этой конструкции if(условие){Действие 1}. То есть если условие, верно, то выполняется Действие 1, если нет, то ничего не происходит. В качестве примера рассмотрим обе формы записи: <?php $a = 1; //Полная форма условия if($a == '1') {echo "Переменная a равна 1";} else {echo "Переменная a не равна 1";} echo "<br>"; //Сокращенная форма if($a == '1') {echo "Переменная a равна 1";} ?> Вначале скрипта мы присвоили переменной $a значение 1. Теперь мы проверяем, действительно ли $a равна 1. Если это так, то и в полной и в краткой форме выведется: «Переменная a равна 1». Теперь присвоим $a значение 2. Мы знаем, что теперь условие выполняться не будет и в первом случае выведется: «Переменная a не равна 1», а во втором ничего не произойдет. Очень часто эти конструкции вкладывают друг в друга, т.е. сначала выполняется одно условие и если оно истинно, то выполняется вложенное условие 2. Чтобы все стало понятным рассмотрим такой пример: <?php $a = 1; $c = 2; //Полная форма условия if($a == '1') { if($c == '2') {echo "Переменная c равна 2 и переменная a равна 1";} } else {echo "Переменная a не равна 1";} ?> Используя конструкцию if(){} else{} условия могут быть не однозначными (вспомните прошлый урок про логические операторы), например такими: <?php $a=1; $c=2; if($a == '1' and $c == '2') { echo "Переменная c равна 2 и переменная a равна 1"; } else {echo "Переменные неизвестны";} ?> Здесь используется логический оператор and, который означает и. Это условие сработает, если $a=1 и $c=2 одновременно. Если вместо and подставить or (или), то будет достаточно чтобы либо $a=1, либо $c=2. Теперь познакомимся с конструкцией switch() и разберемся, для чего она нужена. Эта конструкция может быть использована, если какая-то переменная может принимать несколько разных значений и в зависимости от этих значений должно выполняться определенное действие. Вот как она записывается: <?php $size = 3; switch($size) { case "3": echo "Переменная size равна 3"; break; case "4": echo "Переменная size равна 4"; break; case "5": echo "Переменная size равна 5"; break; default : echo "Переменная size неизвестна"; break; } ?> Здесь мы проверяем переменную $size, которая может принимать несколько значений. Case это одно из значений и если наша переменная примет это значение, то выполняются действия идущие после двоеточия. Оператор break прерывает дальнейший поиск схожих вариантов и выходит из этой конструкции. Default – это тот случай когда не один из вариантов не подходит. Это значение может отсутствовать в это конструкции. Обязательно поэкспериментируйте с условиями и разберитесь, как они работают.
    Сообщение от: sa64ka, 15 июл 2011 в разделе: PHP
  8. sa64ka
    Сообщение

    Уроки по PHP

    Активация зарегистрированных пользователей по E-mail В этом уроке мы будем совершенствовать наш скрипт регистрации, который мы создавали с нуля. Для того чтобы на сайте не регистрировались все подряд кому не лень мы добавим активацию пользователей по E-mail. Сразу после регистрации на почту будет высылаться письмо с ссылкой для подтверждения, и только после перехода по ней пользователь сможет войти на сайт. Для этого нам понадобится добавить одно поле в базу данных в таблицу users: [img] Это поле activation с типом int(1), которое будет принимать значения 0 – не активирован, или 1 – активирован. По умолчанию в этом поле будет 0 и после того как пользователь подтвердит по ссылке в письме что это он, оно изменит значение на 1. Для этого в файле verification.php добавим функцию отправки письма $activ = mysql_query("SELECT id FROM users WHERE login='$login'"); $id_activ = mysql_fetch_array($activ); $activation = md5($id_activ['id']); $subject = "Подтверждение регистрации"; $message = "Здравствуйте! Спасибо за регистрацию на сайте www.MySite.ru\nВаш логин: ".$login."\n Для того чтобы войти в свой аккуант его нужно активировать.\n Чтобы активировать ваш аккаунт, перейдите по ссылке:\n http://www.MySite.ru/activation.php?login=".$login."&act=".$activation."\n\n С уважением, Администрация сайта www.MySite.ru";//содержание сообщение mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n"); echo "На Ваш E-mail выслано письмо с cсылкой, для активации вашего аккуанта. <a href='index.php'>Главная страница</a></p>"; В этом коде мы достали id только что зарегистрированного пользователя и зашифровав в md5 отправили в ссылке по E-mail. Теперь пользователь перейдя по этой ссылке попадает на страницу activation.php, на которой будет сравниваться генерированный id и id полученный в письме. <?php include("bd.php"); if(isset($_GET['act']) AND isset($_GET['login'])) { $act = $_GET['act']; $act = stripslashes($act); $act = htmlspecialchars($act); $login = $_GET['login']; $login = stripslashes($login); $login = htmlspecialchars($login); } else{ exit("Вы зашил на страницу без кода подтверждения!"); } $activ = mysql_query("SELECT id FROM users WHERE login='$login'"); //извлекаем идентификатор пользователя с данным логином $id_activ = mysql_fetch_array($activ); $activation = md5($id_activ['id']); if ($activation == $act) {//сравниваем полученный из url и сгенерированный код mysql_query("UPDATE users SET activation='1' WHERE login='$login'"); echo "Ваш аккуант <strong>".$login."</strong> успешно активирован! Теперь вы можете зайти на сайт под своим логином и паролем!<br><a href='index.php'>Главная страница</a>"; } else { echo "Ошибка! Ваш аккуант не активирован. Обратитесь к администратору.<br><a href='index.php'>Главная страница</a>"; } ?> Если id совпадают, то мы в поле activation ставим 1, что означает подтверждение регистрации. Отлично теперь нужно немного изменить код страницы входа, чтобы входить могли только активированные пользователи. Для этого в файле login.php исправим строку $user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'"); На $user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'");
    Сообщение от: sa64ka, 15 июл 2011 в разделе: PHP
  9. sa64ka
    Сообщение

    Уроки по PHP

    Скрипт для создания капчи. Наверное, многие из владельцев сайтов, на которых есть возможность оставлять комментарии сталкивались с тем, что кто то так и норовит оставить спам или ссылку на какой-нибудь сайт. Очень часто это делают специальные роботы или боты. Самым простым и удобным решением в данной ситуации является использование капчи (CAPTCHA). Как правило, она представляет из себя набор букв и цифр, изображенных на картинке в искаженном виде, которые нужно ввести в определенное поле, тем самым подтвердив, что вы человек. Большинство ботов не способны распознавать данные символы, что позволяет резко уменьшить количество спама. [img] В интернете существует масса различных скриптов для создания капчи. В этом уроке мы рассмотрим скрипт Cryptographp v1.4. Для этого нужно скачать исходные файлы на сайт в папку, например captcha. Теперь на той странице, где мы хотим ее видеть ее, вставляем следующий код: <?php $cryptinstall="captcha/cryptographp.fct.php"; include $cryptinstall; ?> <form action="verifier.php?<?php echo SID; ?>" method="post"> <?php dsp_crypt(0,1); ?> Введите код: <input type="text" name="code"> <input type="submit" name="submit" value="Проверить"> </form> В переменной $cryptinstall прописывается путь до файла cryptographp.fct.php. Поскольку этот файл работает на сессиях, то подключать его надо в самом начале страницы до начала, какого либо html кода. Обновив страницу с этим кодом, мы должны увидеть картинку с капчей, которую можно обновлять без перезагрузки страницы. Теперь на стороне обработчика (в нашем случае это verifier.php), обрабатывающего комментарии вставляем код: <?php $cryptinstall="captcha/cryptographp.fct.php"; include $cryptinstall; if (chk_crypt($_POST['code'])){ echo "<a><font color='#009700'>=> Код введен правильно!</font></a>"; } else { echo "<a><font color='#FF0000'>=> Ошибка! Неправильный код</font></a>"; } ?> Вместо текста «Код введен правильно!» вы подставляете свои действия по добавлению комментариев в базу, ну и вместо ошибки также можно подставить, что то свое. По идее скрипт уже должен начать работать и проверять правильность введенных символов. Теперь немного поговорим, как данный скрипт можно настроить под себя. Для этого откроем файл cryptographp.cfg.php, в котором содержатся основные настройки. Переменные $cryptwidth и $cryptheight содержат значение ширины и высоты создаваемого изображения соответственно. В переменной $bgimg можно указать путь до фонового изображения капчи, если ничего не указывать, то будет фон белый или серый в соответствии от значений $bgR, $bgG и $bgB. Чуть ниже есть переменные $tfont[], которые содержат различные шрифты. Убрав комментарии со строк, вы можете выбрать тот шрифт подходящий вам. $charnbmin и $charnbmax содержат минимальное и максимальное число символов на картинке (меняя эти параметры, не забывайте про длину создаваемого изображения, что бы все символы влезали). В $charspace хранится значение интервала между символами в пикселях. Переменные $charsizemin и $charsizemax это минимальный и максимальный размер символов. Изменяя $charanglemax можно разворачивать символы на угол до 360 градусов. Переменная $cryptformat хранит формат создаваемого изображения (png, gif или jpg). Если создаваемая картинка не подходит под ваш дизайн, вы можете скачать с сайта разработчика http://www.captcha.fr/index.php?page=4&langue=en файл cryptographp.cfg.php и заменить существующий.
    Сообщение от: sa64ka, 15 июл 2011 в разделе: PHP
  10. sa64ka
  11. sa64ka
  12. sa64ka
  13. sa64ka
  14. sa64ka
  15. sa64ka
  16. sa64ka
    Добрый день уважаемые пользователи. В данном уроке мы и будем говорить о восстановления забытого пароля. Новый пароль будет случайно генерироваться из набора цифр и букв латинского алфавита, а затем высылаться на E-mail. Для этого мы создадим файл password.php, в котором будет содержаться форма для ввода логина и E-mail-а: <table> <form method="POST"> <tr> <td>Логин:</td> <td><input type="text" size="20" name="login"></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" size="20" name="email"></td> </tr> <tr> <td></td> <td colspan="2"> <input type="submit" value="Восстановить пароль" name="submit"></td> </tr> <br> </form> </table> Когда пользователь введет эти данные и нажмет кнопку "Восстановить пароль", мы попадем на эту же страницу, на которой будет проверяться существование такого пользователя в базе. В самом начале документа мы соединяемся с базой данных: <?php include_once('bd.php'); ?> Затем идет код, который будет генерировать наш новый пароль: <?php if (isset($_POST['submit'])){ $login = $_POST['login']; $email = $_POST['email']; if (empty($login)){ echo "Введите логин!"; } elseif (empty($email)){ echo "Введите e-mail!"; } else{ $resultat = mysql_query("SELECT * FROM users WHERE login = '$login' AND email = '$email'"); $array = mysql_fetch_array($resultat); if (empty($array)){ echo 'Ошибка! Такого пользователя не существует'; } elseif (mysql_num_rows($resultat) > 0){ $chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; $max=10; $size=StrLen($chars)-1; $password=null; while($max--) { $password.=$chars[rand(0,$size)]; } $newmdPassword = md5($password); $title = 'Востановления пароля пользователю '.$login.' для сайта Site.ru!'; $letter = 'Вы запросили восстановление пароля для аккаунта '.$login.' на сайте Site.ru \r\nВаш новый пароль: '.$password.'\r\nС уважением админестрация сайта Site.ru'; // Отправляем письмо if (mail($email, $title, $letter, "Content-type:text/plain; Charset=windows-1251\r\n")) { mysql_query("UPDATE users SET password = '$newmdPassword' WHERE login = '$login' AND email = '$email'"); echo 'Новый пароль отправлен на ваш e-mail!<br><a ref="index.php">Главная страница</a>'; } } } } mysql_close(); ?> Рассмотрим данный код более подробно. В самом начале мы проверяем, нажата ли кнопка "Восстановить пароль" и введен ли логин и E-mail. Если все данные существуют, то мы проверяем, есть ли такой пользователь, если нет, то выдаем ошибку «Такого пользователя не существует». Если пользователь есть в базе, то мы из набора символов содержащихся в переменной $charsсоставляем новый пароль из 10 символов. Для этого мы используем цикл, в котором при помощи функции rand случайно выбираются символы из переменной $chars и заносятся в переменную $password. Теперь нужно отправить новый пароль пользователю на E-mail и добавить его в базу. Но в базе пароли у нас хранятся в зашифрованном виде, поэтому мы так же шифруем пароль$newmdPassword = md5($password); . Теперь высылаем новый пароль пользователю. Если отправка письма была удачной, то мы обновляем данные в базе и сообщаем об успешном восстановлении пароля. Ну, вот теперь пользователи вашего сервера с легкостью могут восстановить свой пароль. На сайте не передерживаются коды закинул в блокнот :)
    Автор темы: sa64ka, 14 июл 2011, ответов - 18, в разделе: PHP
  17. sa64ka
  18. sa64ka
    Сообщение

    Рега MySQL (by Uragan4ik)

    Ап
    Сообщение от: sa64ka, 6 июл 2011 в разделе: PW Web
  19. sa64ka
  20. sa64ka
    Сообщение

    Рега MySQL (by Uragan4ik)

    Перезаложит регу ураганчика!
    Сообщение от: sa64ka, 6 июл 2011 в разделе: PW Web