PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 10
Romarione Отправлено: 03 Марта, 2017 - 23:30:29 • Тема: Помогите рещить задачу! Mysql • Форум: Вопросы новичков

Ответов: 1
Просмотров: 112
Всем привет.

Есть таблица
id - name - login
1 - Fedor - fedot
2 - Vasaya - fedot



Задача.
Необходимо одним запросом вывести true если login fedot и name Fedor уже присутствуют в таблице.
Как вот это сделать ? Кто знает ?
Romarione Отправлено: 08 Января, 2017 - 17:16:39 • Тема: Срабатывание кода через раз • Форум: Вопросы новичков

Ответов: 7
Просмотров: 475
Строитель пишет:
Romarione пишет:
Но мне кажется
Это не аргумент для программы. Проверять нужно всё.


Я проверил - это не влияет никак.
(Добавление)
Наконец таки решил проблему.
$_SESSION["password"] = $password;
Это надо было написать в обработчик при регистрации.
Как же обидно.. Из-за такой фигни потерял 2 дня
Romarione Отправлено: 08 Января, 2017 - 16:55:09 • Тема: Срабатывание кода через раз • Форум: Вопросы новичков

Ответов: 7
Просмотров: 475
Строитель пишет:
Romarione, вы проверяете так :

Если есть $_SESSION['login'] и $_SESSION['password']

а в переменную $email_1 почему-то записываете $_SESSION['email'];

А вы проверяли где-то её существование? Я про $_SESSION['email']


Email я раньше использовал вместо логина. Потом решил авторизовывать по логину.
А строку не не стёр. Но мне кажется это не влияет на результат
Romarione Отправлено: 08 Января, 2017 - 15:51:59 • Тема: Срабатывание кода через раз • Форум: Вопросы новичков

Ответов: 7
Просмотров: 475
Fart пишет:
хотя вы говорите, что все данные есть, но $login_1 - отследите эту переменную.

имеются ли значения?!



Спасибо, пошло какое то продвижение..

Если присваиваю значение то все работает.

НО

у меня же есть этот код

if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
$email_1 = $_SESSION['email'];
$password_1 = md5($_SESSION['$password']);
$login_1 = $_SESSION['login'];
}

Ведь я ему говорю, что если есть сессия с логином и с паролем то присваиваем переменная = сессия;
Romarione Отправлено: 06 Января, 2017 - 22:08:09 • Тема: Срабатывание кода через раз • Форум: Вопросы новичков

Ответов: 7
Просмотров: 475
Доброго времени суток.
Код срабатывает через раз.
А именно if(mysql_num_rows($result) < 1 ) .
Данная проблема возникает сразу после регистрации нового пользователя, при переходе с обработчика на главную страницу.
Такое ощущение что в бд еще не успела попасть информация, а запрос уже был подан.
Как такое лечится ?

$row_cat = mysql_fetch_assoc($result); - выдает FALSE. НО должна быть array.
$row_cat2 = mysql_num_rows ($result); - выдает 0. Хотя должна быть 1, т.к. регистрация прошла, в базе есть данные и присутствует сессия!

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
  3.                 $email_1 = $_SESSION['email'];
  4.                 $password_1 = md5($_SESSION['$password']);
  5.                 $login_1 = $_SESSION['login'];
  6.         }
  7.        
  8.         $query = "SELECT * FROM users WHERE login = '$login_1'";
  9.         $result = mysql_query($query) or die ( "ОШИБКА : ".mysql_error() );
  10.         $row_cat = mysql_fetch_assoc($result);
  11.         $row_cat2 = mysql_num_rows ($result);
  12.        
  13.        
  14.        
  15.         if(mysql_num_rows($result) <  1 ) {
  16.                 echo "<center><b><span style='color:red'>Вы не авторизованы! Необходимо авторизоваться, или зарегистрируйтесь если у вас нет логина и пароля!</span></center></b><br>";
  17.                         }
  18.         else {
  19.                 echo "<div align='right'> <span style='color:green'>Вы авторизованы под логином :<b> $login_1 </b></span></div><br>";
  20.                 echo "<div align='right'><html><form action='exit.php'>
  21.                 <input type='submit' VALUE='Выйти'/>
  22.                 </form></html><br></div>";
  23.         }
  24.  
Romarione Отправлено: 06 Января, 2017 - 01:45:47 • Тема: вопрос про сессии и запрос к бд • Форум: Вопросы новичков

Ответов: 2
Просмотров: 205
Я всю голову сломал.
Действие такое. Авторизуемся > на другой странице запрос обрабатывается, обработка проходит успешно >переходим обратно на главную страницу, и все равно пишет что я не авторизован! Хотя сессия запускается и вроде как должно работать.
Помогите пожалуйста!
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3.  
  4. require_once("connectbase.php");
  5.  
  6.         if (isset($_SESSION['email']) && isset($_SESSION['password'])) {
  7.                 $email_1 = $_SESSION['email'];
  8.                 $password_1 = $_SESSION['$password'];
  9.         }
  10.        
  11.         $query = "SELECT * FROM users WHERE email = '$email_1' AND password = '$password_1'";
  12.         $result = mysql_query($query) or die ( "ОШИБКА : ".mysql_error() );
  13.        
  14.         if(mysql_num_rows($result) < 1) {
  15.                 echo "Вы не авторизованы! Авторизуйтесь!<br>";
  16.                         }
  17.         else {
  18.                 Echo "Вы авторизованы под емейлом :".$email_1;
  19.         }
  20.  
  21.  
  22.  
  23. ?>
  24.  


Может быть чтото тут не так ?
CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = mysql_query($query) or die ( "ОШИБКА : ".mysql_error() );
  2.        
  3.         if(mysql_num_rows($result) < 1) {
  4.                 echo "Вы не авторизованы! Авторизуйтесь!<br>";
  5.                         }
  6.         else {
  7.                 Echo "Вы авторизованы под емейлом :".$email_1;
  8.         }
Romarione Отправлено: 06 Января, 2017 - 01:39:56 • Тема: Запрет отправки формы при ошибке • Форум: Вопросы новичков

Ответов: 2
Просмотров: 193
Спасибо за помощь.
запрос перекинул в if(!error) и все пошло как по маслу =)
Romarione Отправлено: 05 Января, 2017 - 20:42:23 • Тема: Запрет отправки формы при ошибке • Форум: Вопросы новичков

Ответов: 2
Просмотров: 193
Господа! Помогите решить проблему!
Проблема в том, что если пользователь вводит что то не правильно, выходит сообщение об ошибке. НО запись в базу данных все равно идет.

Например если пользователь ввел email без @, то такой емел все равно попадает в таблицу базы данных. Как это исправить ?

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.         session_start();
  4.         header('Content-Type: text/html; charset=utf-8');
  5.  
  6.         require_once("connectbase.php");
  7.        
  8.  
  9.        
  10.        
  11.        
  12.        
  13.        
  14.        
  15.         echo $email;
  16.         if (isset($_POST["submit"])) {
  17.                 $Email = htmlspecialchars ($_POST["email"]);
  18.                 $login = htmlspecialchars ($_POST["login"]);
  19.                 $password = htmlspecialchars ($_POST["password"]);
  20.                 $r_password = htmlspecialchars ($_POST["r_password"]);
  21.                
  22.                
  23.                 $_SESSION["email"] = $Email;
  24.                 $_SESSION["login"] = $login;
  25.                
  26.                 $error_email = "";
  27.                 $error_login = "";
  28.                 $error_password = "";
  29.                 $error_r_password = "";
  30.                 $error = false;
  31.                
  32.                 if ($Email == "" || !preg_match ("/@/", $Email)) {
  33.                        
  34.                         $error_email= "Введите корректный email!";
  35.                         $error = true;
  36.                        
  37.                        
  38.                        
  39.                 }
  40.                 if ($login == "") {
  41.                         $error_login = "Введите логин!";
  42.                         $error = true;
  43.                 }
  44.                 if ($password == "") {
  45.                         $error_password = "Ввведите пароль!";
  46.                         $error - true;
  47.                 }
  48.                 if ($r_password == "") {
  49.                         $error_r_password = "Введите пароль еще раз!";
  50.                         $error = true;
  51.                 }
  52.                
  53.                 if ($password == $r_password) {
  54.                        
  55.                         $password = md5($password);
  56.                        
  57.                         $query = mysql_query ("INSERT INTO users VALUES ('','$Email','$password')") or die (mysql_error ());
  58.                 }
  59.                        
  60.                         else {
  61.                                
  62.                         echo "ВВЕДЕНЫЕ ПАРОЛИ НЕ СОВПАДАЮТ, ВВЕДИТЕ ПАРОЛИ ЗАНОВО!";
  63.                 }
  64.                
  65.                 if (!$error) {
  66.                        
  67.                         echo "Вы ЗАРЕГЕСТРИРОВАНЫ!";
  68.                 }
  69.                
  70.                
  71.         }
  72.                
  73.                
  74.         mysql_close ();
  75.                
  76.        
  77.  
  78.        
  79. ?>
  80.  
  81. <!DOCTYPE html>
  82. <html>
  83. <head>
  84. <title> Hello world </title>
  85. </head>
  86.         <body>
  87.         <center>
  88.         <h2> Регистрация пользователя </h2>
  89.         <form name="reg" method="POST" action="">
  90.         <input type="text" name="email" required placeholder="Email" VALUE="<?= $_SESSION["email"]?>"/><br>
  91.                 <span style="color:red"> <?= $error_email ?> <br> </span>
  92.         <input type="password" name="password" required placeholder="Пароль"/><br>
  93.                 <span style="color:red"> <?= $error_password ?> <br> </span>
  94.         <input type="password" name="r_password" required placeholder="Пароль еще раз"/><br>
  95.                 <span style="color:red"> <?= $error_r_password ?> <br> </span>
  96.         <input type="submit" name="submit" VALUE="Зарегистрироваться"/><br>
  97.         </form>
  98.         </center>
  99.         </body>
  100. </html>
  101.  
Romarione Отправлено: 25 Июля, 2016 - 13:59:40 • Тема: Помогите с кодом • Форум: Вопросы новичков

Ответов: 4
Просмотров: 220
Спасибо большое за ответ!
Только не совсем пойму вот это :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  echo $name."</br>";
  3.          $error = true;
  4.  


зачем менять error на тру

и потом переворачивать это значение как ты пишешь дальше:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!$error)
  3.      {
  4.  


или я что то не так понимаю ?
Romarione Отправлено: 25 Июля, 2016 - 00:44:22 • Тема: Помогите с кодом • Форум: Вопросы новичков

Ответов: 4
Просмотров: 220
Я только учусь, и хотелось бы чтобы кто нибудь помог.
Не могу понять, как сделать проверку форм по отдельности.
Например когда форма с именем заполнена а с мейлом нет, соответственно нужно
чтобы он выводил сообщение только по той форме в которой есть проблема.
Додумался только использовать значение || , но это не совсем то что нужно
вот код

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ?php
  3.    
  4.   $name = "Вы не ввели имя или емаил";
  5.  
  6.  
  7.   if (isset($_POST["done"])) {
  8.       if ($_POST ["name"] == "" || $_POST ["Email"] == "")
  9.          echo $name."</br>";
  10.   else
  11.           header("location:index.php");
  12.   }
  13.  
  14.    $tittle = "ЧЕРНОВИК";
  15.   require "header.php";
  16.     ?>
  17.         <!DOCTYPE html>
  18.         <center>
  19.  <form name="test" action="" method="post">
  20.    <label> Имя :</label> <br>
  21.    <input type="text" name="name" placeholder"Имя" /><br>
  22.    <label> Email:</label> <br>
  23.    <input type="text" name="Email" placeholder"Email" /><br>
  24.    <label> Сообщение</label> <br>
  25.    <textarea name="message" cols="20" rows="10"> </textarea><br>
  26.    <input type="submit" name="done" value="Готово" />
  27.     </center>
  28.  
  29.  
  30.  </form>
  31.        
  32.        
  33.        
  34.         <?php
  35.         require "footer.php";
  36. ?>
  37.  

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB