Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191

Отправить постом

30.08.2012, 01:35. Показов 1649. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно отправить строку методом POST через php?(Аналагично <form> в HTML)

Добавлено через 28 минут
или как при не правильном вводе логина и пороля, при авторизации, выводить сообщение ниже, что данные не верны?
и ещё вопрос, как можно логин оставлять в поле ввода при неправильном вводе?

Добавлено через 2 минуты
у меня форма отсылает данные из формы на пхп скрипт.(форма и скрипт каждый в своём файле)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2012, 01:35
Ответы с готовыми решениями:

что то не так с постом
if ( isset($_POST) ) { $json = json_decode($_POST); foreach($json as $key =&gt; $value) { $data = trim( htmlspecialchars(...

Выводятся все комментарии под каждым постом
Хочу вывести комменты под постами, но возникает трудность - под каждым из них выводятся все комменты, хотя условие вроде задал. Помогите...

как отправить HTTPзапрос из VB постом ?
как отправить HTTPзапрос из VB постом ? Что то не могу найти негде! помогите господа программисты ...

11
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 02:59
Не понимаю зачем делать скрипт и форму в разных файлах?
Это увеличивает в два раза кол-во обращений к серваку, да и код сложнее будет если хотите чтоб оставались данные.
Вот собственно в одном файле, логин остаются.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<? 
if($_POST['Login']){
        $Pas=htmlspecialchars(trim($_POST['Pas']));
          $Login=trim(htmlspecialchars($_POST['Login']));
          if(1==3){
            
              if(2==4){
                  if(5==6){
                      
                  }else $Error="<span  style=\"color:#f00;\">Неправильный пароль!</span>";
              }else $Error="<span  style=\"color:#f00; \">Пользователь заблокирован!</span>";
          }else $Error="<span  style=\"color:#f00;\">Неправильный логин!</span>";
          
    
}
 
 
?>
<!DOCTYPE html >
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
 
</head>
<div class="main">
 
         
<form method="POST" name="uform" action="<?=$_SERVER['SCRIPT_NAME']?>">
            <table width="400" align="center">
<tr><td>Логин</td><td><input type="text" name="Login" size="25" value="<?=$Login?>" 
 title="Введите свой логин."></td></tr>
<tr><td>Пароль</td><td><input type="password" name="Pas" size="25"  value=""
 title="Введите свой пароль"></td></tr>
<tr>
<tr><td colspan="2"><?=$Error?></td></tr>
<td>
<input type="submit" value="Войти" class="ButM" name="enter" tabindex="3"
title="Введите свой логин и пароль и нажмите сюда, чтобы войти в систему">
</td>
<td>
<a href="Reg.php" >Регистрация</a>
</td>
</tr>
</table>
 
 </form>    
</div>
</html>
1
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.08.2012, 03:20  [ТС]
Цитата Сообщение от Destank Посмотреть сообщение
PHP
1
<?=$_SERVER['SCRIPT_NAME']?>
Что значит равно стоящее перед переменной? и что именно эта часть кода делает?
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:26
Собственно оно тут несколько раз применяется
PHP
1
<?=$Login?>
тоже самое что и
PHP
1
<? echo $Login; ?>
PHP
1
<?=$_SERVER['SCRIPT_NAME']?>
тоже самое что и
PHP
1
<? echo $_SERVER['SCRIPT_NAME']; ?>
а $_SERVER['SCRIPT_NAME'] переменная в которой хранится название скрипта, в котором находится этот код.
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.08.2012, 03:36  [ТС]
Почему не выводит сообщение при заполнении только одного поля?
PHP
1
2
3
4
5
if(isset($login) && isset($password))
    {
        // Ещё код
    }
    else echo "<font color='red'>Заполните все поля!</font>";
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:42
PHP
1
if(isset($login) && isset($password))
если
Цитата Сообщение от ProstoMad Посмотреть сообщение
PHP
1
2
3
4
5
if(isset($login) && isset($password))
 {
 // Ещё код
 }
 else echo "<font color='red'>Заполните все поля!</font>";
тут все верно скорее всего ошибка где-то выше.
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.08.2012, 03:52  [ТС]
ну вот весь пхп код.
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
if($_POST['login'])
{
    $login = htmlspecialchars(trim($_POST['login']));
    $password = htmlspecialchars(trim(md5(md5($_POST['password']).md5($_POST['login']))));
    if(isset($login) && isset($password))
    {
        include("/connect.php");
        $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' AND `password`='{$password}'";
        $sql = mysql_query($query);
        if(mysql_num_rows($sql) == 1)
        {
            $row = mysql_fetch_array($sql);
            $_SESSION['user_id'] = $row['id'];
            $page = "/profile.php";
            //ПЕРЕХОД НА ПРОФИЛЬ
            echo '<script type="text/javascript">';
            echo 'window.location.href="'.$page.'";';
            echo '</script>';
            //===================
        }
        else echo "<font color='red'>Не правильный логин или пароль</font>";
    }
    else echo "<font color='red'>Заполните все поля!</font>";
}
include("/connect.php"); - подключение к бд

Добавлено через 7 минут
выше только старт сессии и ХТМЛ код
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:56
PHP
1
if(isset($login) && isset($password))
будет фолс когда оба пустые, и когда пустой логин.
Потому что
PHP
1
$password = htmlspecialchars(trim(md5(md5($_POST['password']).md5($_POST['login']))));
если логин ввели, то $password не может быть пустым т.к. даже к пустой строке md5($_POST['password']) всеравно прибавят md5($_POST['login']

Добавлено через 1 минуту
точне md5($_POST['password']) не пустая строка даже если $_POST['password'] не существует, т.к. даже у строки длиной в 0 символов тоже есть свой хеш
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.08.2012, 03:57  [ТС]
Спасибо) теперь понял)
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:58
PHP
1
2
3
4
5
if($_POST['login'] && $_POST['password'])
    {
        // Ещё код
    }
    else echo "<font color='red'>Заполните все поля!</font>";
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.08.2012, 04:58  [ТС]
Теперь вопрос появился)
Почему у меня при проверке входящих данных с использованием isset игнорирует? или я не правильно понял его функцию?
При заполненном логине, но остальными строками пустыми, он давал значение тру
PHP
1
isset($_POST['login']) && isset($_POST['password']) && isset($_POST['email']) && isset($_POST['webmoney'])
Получилось, лишь когда убрал isset и выглядело так:
PHP
1
$_POST['login'] && $_POST['password'] && $_POST['email'] && $_POST['webmoney']
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 08:05
Лучший ответ Сообщение было отмечено как решение

Решение

потому что попов вас учит неверно. isset проверяет на существование (т.е., установлена ли переменная или равна NULL). При отправке данных формой ВСЕ данные находятся внутри своего суперглобального массива ($_POST или $_GET, смотря какой метод). Но то что они находятся там - не говорит о том что они не пустые). Это раз.
Второе - isset-а при работе с формами за глаза хватает всего лишь одного - который проверяет, нажимали кнопку или нет (или проверяет $_SERVER['REQUEST_METHOD']).

вот эта поповская буйда
PHP
1
if(isset($_POST['переменная'])) { $переменная = $_POST['переменная']; } else { unset($_POST['переменная']); }
уже реально накалять стала..

PHP
1
2
3
if(isset($_POST['Кнопка_формы'])) {
//а здесь весь код! без кучи всяких isset-ов
}
Добавлено через 5 минут
что бы проверить переменную на пустоту - используется функция empty().
Прошу обратить внимание, что 0 (ноль) для нее тоже пустота. Зато пробел - нет, следовательно прежде чем ей проверять нужно хотя бы убрать пробелы функцией trim() !
PHP
1
2
3
4
5
6
7
8
if(isset($_POST['кнопка_формы'])) {
$first = trim($_POST['поле_формы']); # если там ввели пробел (или несколько, не важно) - то они удалятся
if(empty($first)) echo 'Вы не заполнили поле ввода!';
else {
# не пустая, хотя бы один печатаемый (видимый) символ
}
 
}
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2012, 08:05
Помогаю со студенческими работами здесь

Отправить Прикрепленные Файлы Постом
Всем привет! Есть вот такая хтмл страничка, которая позволяет отправить логин, пароль и некоторый список файлов постом на сервер. ...

Ссылка постом
Переменные передать методом get просто это понятно, а как сделать ссылку чтобы после ее нажатия открывалась страница в новой вкладке и туда...

Передать массив из JS в PHP ПОСТом
Имею следующее: var text_array = new Array(); text_array='txt0'; text_array='txt1'; ...

Связать id юзера, с постом, который он создал в блоге
Здравствуйте! Я создаю блог. У меня есть база данных Blog в которой 2 таблицы. Users и Posts Таблица Users состоит из id,...

Как убрать следующая/предыдущая запись под постом
Собственно вопрос в заголовке. Как убрать эту бяку?


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru