Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
1

не работает ЭХО

14.12.2013, 22:39. Показов 1090. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Столкнулся вот с такой проблемой. Авторизация происходит через считывание логина и пароля из таблицы в БД, помимо логина и пароля в бд еще прописано поле id и fio. Надо сделать так чтобы при авторизации, страница выводила приветсвие такого рода: Привет Иванов!, то есть в коде это выглядит так:

PHP
1
echo "Hello $fio";
Однако ничего подобного не происходит, тогда как

PHP
1
echo "Hello $login";
вполне работает

Названия полей:

пор.номер - id
логин - login
пароль - password
фио - fio
присваиваются соответсвующие переменные.

Код в принципе вот. Прошу помочь. Заранее спасибо ))

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
include("connect.php");
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка  
if(empty($_POST['login'])){ //если переменная логина пуста или не существует  
echo"Вы не ввели логин"; // выводим сообщение об ошибке  
    }elseif(!preg_match("/[-a-zA-Z0-9]{3,15}/", $_POST['login'])){ //если переменная не соответствует шаблону -a-zA-Z0-9  
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке      
    }elseif(empty($_POST['password'])){ //если переменная логина пуста или не существует  
echo"Вы не ввели пароль"; // выводим сообщение об ошибке  
    }elseif(!preg_match("/[-a-zA-Z0-9]{3,30}/", $_POST['password'])){ //если переменная не соответствует шаблону -a-zA-Z0-9  
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке      
    }else{  
    $login = $_POST['login']; //присваеваем переменную  
    $password = md5($_POST['password']);//присваеваем переменную и кодируем её в md5 для безопасности  
    $query = mysql_query("SELECT * FROM `users`  WHERE `login`='$login' AND `password`='$password' "); //отправляем запрос на выборку всего содержимого , где поле логин равно переменной $login, а поле password равно переменной $password  
    $row = mysql_num_rows($query); // считаем количество рядов результата запроса  
    if($row > 0){ //если их больше 0  
        echo "Hello $login"; 
        }else{  
        echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!  
        }  
      
    }  
 
} 
$reqst = ("SELECT * FROM `users`  WHERE `fio`='$fio'");
echo "$fio";
?>
Добавлено через 1 минуту
все данные вводятся латиницей, но мне и надо чтобы переменные выводились латиницей

Добавлено через 46 минут
пробовал переписать вот так:

PHP
1
2
3
4
5
$quer = mysql_query("SELECT * FROM `users`  WHERE `fio`='$fio'");
$ro = mysql_num_rows($quer);
if($ro > 0){
echo "Hello $fio";
}
Не выводит даже Hello ((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2013, 22:39
Ответы с готовыми решениями:

Комментарии к коду эхо-клиент/эхо-сервер
Ребятки ,нужна очень ваша помощь !!! кому не тяжело напишите пожалуйста коментарии к кодам...

Эхо эффект!
Добрый день! У меня смартфон Samsung Galaxy J5, в последнее время собеседники стали говорить, что...

Эхо на Serial
Изучаю Arduino. Не могу понять почему не выводится число, которое ввожу. Объясните, пожалуйста. ...

USART "Эхо"
Чёт не пойму почему в Proteus на ввод символа контроллер начинает безостоновочно слать символы, с...

2
Иллюзионист
154 / 153 / 27
Регистрация: 02.10.2013
Сообщений: 330
14.12.2013, 22:47 2
От пользователя получаем логин и пароль. После проверок ищем запись в базе. Если запись нашлась - выводим тот же логин, который получили. Ну и правильно, раз такой нашелся.
Дальше, ФИО. От пользователя не получали - надо извлекать из базы. И где этот запрос-то?) Есть вот такое:
PHP
1
$reqst = ("SELECT * FROM `users`  WHERE `fio`='$fio'");
В $reqst запихнули текст запроса. Только его еще исполнить надо и получить обратно данные:
PHP
1
2
$res = mysql_query("SELECT * FROM `users`  WHERE `login`='$login'");
$user = mysql_fetch_assoc($res);// первую строчку забираем как ассоциативный массив
Причем, искать нужно опять по логину. В запросе не может быть $fio как условие - его пока что вообще не существует. Известны только логин и пароль.
И вот после этого только можно забирать в $user['fio']
1
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
14.12.2013, 23:12  [ТС] 3
Спасибо. А можно немного подробнее? просто я в php пока еще совсем новичок

Добавлено через 20 минут
Решено:

PHP
1
2
3
4
$res = mysql_query("SELECT * FROM `users`  WHERE `login`='$login'");
$user = mysql_fetch_assoc($res);// первую строчку забираем как ассоциативный массив
$exp = $user['fio'];
echo "Hello $exp";
0
14.12.2013, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2013, 23:12
Помогаю со студенческими работами здесь

Эхо в наушниках
Всем доброго времени суток. Такая проблема: в скайпе и тимспике слышно эхо в наушниках, именно...

Эхо в колонках
Всем доброго времени суток. Помогите, пожалуйста ламеру. После перехода на win10 появилось эхо в...

Программа эхо
Написать программу эхо - печати вводимых символов

Эхо в наушниках
Здравствуйте! У меня проблема с наушниками. Проблема: иногда наушники такие тихие, что я все на...

эхо-локатор
Обеспечение обнаружения препятствия в радиусе 400 см. На расстоянии 400 см до препятствия...

USART Эхо
Я хотел реализовать на STM32 Dyscovery процесс когд я посылаю с терминала на СТМ32 через USORT1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru