<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Текстовые сообщения</title>
</head>
<form action="getUses.php">
<table align=center>
<caption> Вход в систему </caption>
<tr>
<td align=right> Имя
<td align=left> <input name=Uses>
<tr>
<td align=right> Почта
<td align=left> <input name=Pht>
<tr>
<td align=right> Цвет
<td align=left>
<select style="background-color:#009966 ">
<option style="background-color:#00CC33 "> 1
<option style="background-color:#99CC00 "> 1
<option style="background-color:#999999 "> 1
</select>
<tr>
<td align=center colspan=2> <input type=submit value="Вход">
</table>
</form>
</html>
Из нее мы получаем переменную $Uses. Эта форма не суть важна, в ней все верно, я просто хотел дать более полную информацию об устройстве скрипта. Затем переходим на следующую форму
<?php
$Uses= $_GET['Uses'];
$Pht= $_GET['Pht'];
$arr = file("Uses1.txt");
for ($i=0; $i < count($arr); $i++) {
if ($Uses == $arr[$i])
echo "нашли!";
}
Здесь задаем массив из текстового файла Uses1.txt, в котором имеются имена с таким расположением:
Aleks
Tony
John
Проблема в том, что не получается корректно сравнить введенную переменную с теми, что находятся в текстовом файле. Он сравнивает только с последним именем, находящемся в файле, т.е. в нашем случае с John. Пожалуйста подскажите где ошибка, а то я уже неделю с этим мучаюсь(
Спустя 28 минут, 10 секунд (10.05.2010 - 20:52) ak167 написал(а):
Всё))) Уже разобрался сам!))) Оказалось, что просто не надо было скрытую переменную в html-форме отправки данных называть так же как и массив данных, который образуется при чтении из БД!
Так что все ок. Тему можно удалить.
Так что все ок. Тему можно удалить.
Спустя 19 минут, 52 секунды (10.05.2010 - 21:12) Aleks2215 написал(а):
Чего чего? Ты случайно темой не ошибся??? Тем более что название переменной $Uses, а массива $arr
Спустя 19 минут, 44 секунды (10.05.2010 - 21:32) Alecs написал(а):
$Uses= $_GET['Uses'];
$Pht= $_GET['Pht'];
$arr = file("Uses1.txt");
for ($i=0; $i < count($arr); $i++) {
if ($Uses == $arr[$i]) {
echo "нашли!";
break;}
}
echo $arr[$i];
Спустя 28 минут, 23 секунды (10.05.2010 - 22:00) Aleks2215 написал(а):
Цитата (Alecs @ 10.05.2010 - 18:32) |
|
Ничего не изменилось( он так же выводит сообщение лишь в том случае, когда введенное имя совпадает с ПОСЛЕДНИМ именем в файле Uses1.txt.
Спустя 18 минут, 6 секунд (10.05.2010 - 22:18) Raito-kun написал(а):
$Uses = $_POST['Uses'];
$Pht = $_POST['Pht'];
$arr = file("Uses1.txt");
foreach($arr as $value)
{
$value = trim($value);
if ($Uses == $value)
echo "нашли!";
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Текстовые сообщения</title>
</head>
<form action="" method = POST>
<table align=center>
<caption> Вход в систему </caption>
<tr>
<td align=right> Имя
<td align=left> <input name=Uses>
</tr>
<tr>
<td align=center colspan=2> <input type=submit value="Вход">
</tr>
</table>
</form>
</html>
Спустя 14 минут, 15 секунд (10.05.2010 - 22:32) Raito-kun написал(а):
проблема в том, что каждая строчка у вас в строке заканчивается символом конца строки, с чем прекрасно справляется функция trim()
Спустя 1 минута, 12 секунд (10.05.2010 - 22:34) Aleks2215 написал(а):
Спасибо тебе огромное
А первую форму не стоило редактировать, там все нужно) Я просто из второй все лишнее убрал)) И все равно тебе ПРЕОГРОМНЕЙШЕЕ спасибо еще раз)
А первую форму не стоило редактировать, там все нужно) Я просто из второй все лишнее убрал)) И все равно тебе ПРЕОГРОМНЕЙШЕЕ спасибо еще раз)
Спустя 5 минут, 24 секунды (10.05.2010 - 22:39) Aleks2215 написал(а):
не подскажешь еще если не сложно, как вернуться на начальную страницу если имена совпали?
Спустя 6 минут, 37 секунд (10.05.2010 - 22:46) Raito-kun написал(а):
можно на другую и не переходить, просто скопируй мой прошлый пост в 1 файл, обрамив php-код. но если обязателен переход туда-обратно
foreach($arr as $value)
{
$value = trim($value);
if ($Uses == $value)
header("Location: путь_к_начальной_странице.php");
}
echo "не найден";
Спустя 14 минут, 33 секунды (10.05.2010 - 23:00) Aleks2215 написал(а):
Прямо не знаю, что бы я без тебя делал...
Спасип)
А какой командой можно остановить выполнение скрипта при условии? Чтобы после перехода на первую страницу выполнении всего того что идет во 2 скрипте после перехода останавливалось?
Спасип)
А какой командой можно остановить выполнение скрипта при условии? Чтобы после перехода на первую страницу выполнении всего того что идет во 2 скрипте после перехода останавливалось?
Спустя 5 минут, 21 секунда (10.05.2010 - 23:06) Raito-kun написал(а):
ах да, забыл
if ($Uses == $value)
{
header("Location: some.php");
exit();
}
Спустя 9 минут, 43 секунды (10.05.2010 - 23:15) Aleks2215 написал(а):
Класс) Очень мне помог
Спустя 10 часов, 51 минута, 2 секунды (11.05.2010 - 10:06) Aleks2215 написал(а):
А как сделать чтобы проверялось 2 условия и при их выполнении что то делалось?
К примеру в текстовом файле есть
Aleks
11111
Tony
22222
John
33333
Первое это имя, а второе пароль.
Таким кодом сделать не получилось, а нужно, чтобы при совпадении введенных имени и пароля с имеющимися совершалось какое то действие.
$Uses это имя пользователя
$Pass пароль
Форма входа вот
К примеру в текстовом файле есть
Aleks
11111
Tony
22222
John
33333
Первое это имя, а второе пароль.
<?php
$Uses= $_GET['Uses'];
$Pass= $_GET['Pass'];
$arr = file("Uses1.txt");
foreach($arr as $value)
{
$value = trim($value);
if ($Uses == $value and $Pass == $value)
Таким кодом сделать не получилось, а нужно, чтобы при совпадении введенных имени и пароля с имеющимися совершалось какое то действие.
$Uses это имя пользователя
$Pass пароль
Форма входа вот
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Текстовые сообщения</title>
</head>
<form action="getUses.php">
<table align=center>
<caption> Вход в систему </caption>
<tr>
<td align=right> Имя
<td align=left> <input name=Uses>
<tr>
<td align=right> Пароль
<td align=left> <input name=Pass>
<tr>
<td align=center colspan=2> <input type=submit value="Вход">
</table>
</form>
</html>