PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (10): « 1 2 3 [4] 5 6 7 8 9 ... » В конец

> Найдено сообщений: 141
Andruxa Отправлено: 07 Ноября, 2013 - 16:20:51 • Тема: Проблема с cookies • Форум: Вопросы новичков

Ответов: 5
Просмотров: 217
Нет f5 я не нажимаю, я заново захожу на страницу с формой .
PHP:
скопировать код в буфер обмена
  1. if ($_COOKIE['dostup']=="ok"){
  2. echo"Выход";
  3. }
  4. else{
  5. echo"Форма";
  6. }

По поводу редиректа в функции честно не очень понял, что имеется в виду ?

Мысли в слух Закатив глазки
PHP:
скопировать код в буфер обмена
  1.     if (isset($_POST['go']) ){
  2.     chek_form_reg($_POST['login'], $_POST['password']);  
  3.     }

При нажатие на кнопку "войти" запускается моя функция по проверке полей, если данные корректны, она должна записать cookies, если нет, выдать сообщение об ошибке.
Вопрос даже больше звучит, как убить эту cookies сессию? Для сессий есть функция session_destroy();
То что $url[3]="exit"; это точно , смотрю var_dumP ом, и тем более у меня появляется сообщение "Уничтозаем сессиию"
Andruxa Отправлено: 07 Ноября, 2013 - 15:58:11 • Тема: Проблема с cookies • Форум: Вопросы новичков

Ответов: 5
Просмотров: 217
Помогите разобраться.
Делаю простую систему авторизации. Есть функция проверки полей формы:
PHP:
скопировать код в буфер обмена
  1. function chek_form_reg($name, $password ){
  2.     global $dom;
  3.      include "inc/config.php";
  4.      $name = htmlspecialchars(stripslashes($name));
  5.      $password = htmlspecialchars(stripslashes($password));          
  6.      if ($name =="") {
  7.          $error=$error. "<strong>Имя пользователя</strong> не может быть пустым !<br>";
  8.      }
  9.      elseif ((strlen($name) >= 2) and (strlen($name) <= 25)){
  10.          $name = stripslashes($name);
  11.          $name = html_entity_decode($name);
  12.          $name = strip_tags($name);        
  13.      }
  14.      else{
  15.        $error=$error. "Вы ввели не корректные данные в поле <strong>Имя пользователя</strong>!<br>";
  16.      }    
  17.      if( empty($password)){
  18.         $error=$error. "<strong>Пароль</strong> не может быть пустым!<br>";
  19.      }
  20.      if ( !empty($password) and strlen($password)<=2){
  21.         $error=$error. "<strong>Пароль</strong> должен быть больше 2 символов!<br>";
  22.      }    
  23.      // выводим сообщение об ошибках
  24.     if (!empty($error)){
  25.         echo "<div class='error'> <p>Ошибка!</p><br>$error<br>";
  26.        // echo "<input class='butom_err' onclick='window.history.back();'  value='Вернуться'/></br></div>";
  27.     }
  28.     elseif($name==$admin_login and md5($password)==$admin_password){
  29.         setcookie("dostup", "ok", time()+3600);
  30.        echo"<META HTTP-EQUIV=REFRESH CONTENT='1; URL=$dom/module'>";        
  31.         echo "Все правильно, авторизуем";
  32.     }
  33.     else{  
  34.         echo"Какая то ошибка<br>";
  35.     }
  36.   return $error;      
  37. }


Далее делаю проверку вводимых полей и записываю все в cookies:
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['go']) ){
  2. chek_form_reg($_POST['login'], $_POST['password']);  
  3. }


Далее хочу сделать "выход":
PHP:
скопировать код в буфер обмена
  1. if ($url[3]=="exit"){
  2.     setcookie ("dostup", "");    
  3.     echo"<META HTTP-EQUIV=REFRESH CONTENT='0; URL=$dom/module'>";
  4.     echo "Уничтожаем сессиию";
  5. }

При нажатие на ссылку "Выход" почему то не обнуляется Недовольство, огорчение

CODE (htmlphp):
скопировать код в буфер обмена
  1. array (size=2)
  2.   'dostup' => string 'ok' (length=1)
  3.   'PHPSESSID' => string 'c9sj47td7nhedejv63lufv0872' (length=26)


Что то я делаю не то, это точно, но что пока не могу разобраться.
И еще попутный вопрос:
Andruxa Отправлено: 04 Сентября, 2013 - 13:05:45 • Тема: не могу в базу занести дату • Форум: Вопросы новичков

Ответов: 4
Просмотров: 188
В базе должна быть ячейка например date в TIMESTAMP
а запись как то так:
PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO lessons (name, date) VALUES ("Начало", NOW() ) ")
Andruxa Отправлено: 22 Августа, 2013 - 12:41:29 • Тема: Динамичное создание ЧПУ • Форум: Вопросы новичков

Ответов: 9
Просмотров: 589
Я тоже в ЧПУ не силен, но нашел хороший вариант которым и пользуюсь.
файл .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddDefaultCharset utf-8
  2. DirectoryIndex index.php
  3. RewriteEngine On
  4. Options +FollowSymlinks
  5. RewriteCond   %{REQUEST_FILENAME}       !-d
  6. RewriteCond   %{REQUEST_FILENAME}       !-f
  7. RewriteRule   ^(.*) index.php?%{QUERY_STRING}

Сделал функции:
PHP:
скопировать код в буфер обмена
  1. function get_url(){
  2.     $URI = urldecode($_SERVER['REQUEST_URI']);
  3.     $get_url=explode("/", $URI);
  4.     return $get_url;
  5. }


ссылки получаются вида: mysite/module/viwer и т.д

дальше разбираем url

А потом как сказал DlTA делаем с полученным значением что угодно вставлять куда угодно
PHP:
скопировать код в буфер обмена
  1.  if( $url[2]=='viwer  '){    
  2.    echo "Что то делаем!";
  3. }
Andruxa Отправлено: 21 Августа, 2013 - 09:48:56 • Тема: Сравнение полей в базе. • Форум: Вопросы новичков

Ответов: 5
Просмотров: 208
А если поле не пустое в таблице!? И там есть ip который сейчас и у нас.
Может сделать еще проверку на соответствие
PHP:
скопировать код в буфер обмена
  1. if (empty($ip_un['ip']) and $ip_un['ip'] !=$ip) {
  2.         $insert = mysql_query("INSERT INTO visitor (ip,date) VALUES('$ip','$date_today')");
  3.         //если нету - добавляем
  4.     }
Andruxa Отправлено: 21 Августа, 2013 - 08:12:44 • Тема: Как сохранить записи в полях формы при обновлении • Форум: Вопросы новичков

Ответов: 9
Просмотров: 649
ну вот где выдает сообщение о ошибке и добавь кнопку "Вернуться"
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  echo "<div style='position:absolute; top: 580px; left: 320px; color: red'> <br/> <b>Вы заполнили не все обязательные поля <!--- Необходимо заполнить поле:<br/> $empty_input[$i] --->!</b></div>" ;  
  2.  echo "<input type='submit' onclick='window.history.back(); '  value='Вернуться' />";
Andruxa Отправлено: 20 Августа, 2013 - 21:40:41 • Тема: Не пойму в чем дело!? Помогите • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3009
LIME Спасибо ! работает!
Andruxa Отправлено: 20 Августа, 2013 - 21:25:58 • Тема: Не пойму в чем дело!? Помогите • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3009
Никто не подскажет ... Недовольство, огорчение
Andruxa Отправлено: 20 Августа, 2013 - 16:34:44 • Тема: Массив в одной ячейке ряда • Форум: Работа с СУБД

Ответов: 9
Просмотров: 1798
у тебя в ссылках параметр?page, для чего его засовывать в массив если он повторяется?

проще в ячейке тогда держать данные вида "main"=>"Главная", "about"=>"О нас" и т.д.
Andruxa Отправлено: 20 Августа, 2013 - 16:20:27 • Тема: Массив в одной ячейке ряда • Форум: Работа с СУБД

Ответов: 9
Просмотров: 1798
А какая стоит задача !? Если вся проблема в организации ссылок, может стоит заморочится с ЧПУ !?
Andruxa Отправлено: 20 Августа, 2013 - 16:13:52 • Тема: Как сохранить записи в полях формы при обновлении • Форум: Вопросы новичков

Ответов: 9
Просмотров: 649
Можно сделать кнопку "Возврата", вставить это на страницу где выдает сообщение об ошибке
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type='submit' onclick='window.history.back(); '  value='Вернуться' />
Andruxa Отправлено: 19 Августа, 2013 - 18:47:37 • Тема: Не пойму в чем дело!? Помогите • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3009
Еще один вопрос.
Проверка данных из формы (авторизация)
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['log_in']) and empty($error)){    
  2.         $stm  = db_connect()->prepare("SELECT * FROM `users` WHERE login=:name OR email=:email AND password=:password LIMIT 1");      
  3.         $stm->execute(array('name'=>$_POST['login'], 'email'=>$_POST['login'], 'password'=>md5($_POST['password'])));  
  4.         $data = $stm->fetch();
  5.             var_dump($data); // так, для себя      
  6.              if ($data)
  7.              {
  8.                 echo "<div class='error'> <p>Ошибка!</p><br>Логин или пароль введен не верно!</div>";
  9.              }
  10.            else
  11.           {
  12.            define( '_ACCESS_', 1 );
  13.            $_SESSION['id']=$data['id'];  
  14.           }
  15.            
  16. }
  17.  


Почему выполняется запрос, если он не соответствует условию? Даже если я ввел неверный пароль он выполняется, при неверном логине выдает boolean false
Andruxa Отправлено: 17 Августа, 2013 - 22:20:18 • Тема: Не пойму в чем дело!? Помогите • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3009
armancho7777777 То что нужно, спасибо!
Andruxa Отправлено: 17 Августа, 2013 - 21:44:06 • Тема: Не пойму в чем дело!? Помогите • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3009
Саныч Спасибо! стал смотреть в направлении PDO
вопрос такой появился. в Mysql у меня была функция подключения к БД, вида:
PHP:
скопировать код в буфер обмена
  1. function db_connect ()
  2. {    
  3.         $host = "localhost";
  4.         $user = "root";
  5.         $password = "";
  6.         $dbname = "baza";
  7.     mysql_connect ($host, $user, $password) or die (mysql_error());
  8.         mysql_select_db ($dbname) or die (mysql_error());
  9.     mysql_query("SET NAMES utf8");
  10. }


Так вот при использовании PDO, используя в функциях, например:
PHP:
скопировать код в буфер обмена
  1. function get_menu ($kategoriay){
  2. $host="localhost";
  3. $db="pozdr";
  4. $charset="utf8";
  5. $user="root";
  6. $pass="";  
  7. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  8. $opt = array(
  9.     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  10.     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  11.    
  12. );
  13. $pdo = new PDO($dsn, $user, $pass, $opt);
  14.     $stm  = $pdo->prepare("SELECT * FROM `menu` WHERE kategoriay=:kategoriay");
  15.     $stm->execute(array('kategoriay'=>$kategoriay));
  16.      while($data = $stm->fetch()){
  17.       $info.=$data['name_menu']."-".$data['id']."<br>";      
  18.  }
  19.  return $info;
  20. }


в каждой функции приходится прописывать снова:
PHP:
скопировать код в буфер обмена
  1. $host="localhost";
  2. $db="pozdr";
  3. $charset="utf8";
  4. $user="root";
  5. $pass="";  
  6. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";


Как сделать универсальное подключение на PDO !?

В ООП пока не сильно силен...

P.S. Частенько возникает много мелких вопросов, если у кого есть желание и возможность для быстрого ответа, прошу скиньте Ваши координаты в личку, обещаю сильно не доставать Улыбка

Страниц (10): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB