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

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

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

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

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

Добавлено через 2 минуты
у меня форма отсылает данные из формы на пхп скрипт.(форма и скрипт каждый в своём файле)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2012, 01:35
Ответы с готовыми решениями:

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

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

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

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

11
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 02:59 2
Не понимаю зачем делать скрипт и форму в разных файлах?
Это увеличивает в два раза кол-во обращений к серваку, да и код сложнее будет если хотите чтоб оставались данные.
Вот собственно в одном файле, логин остаются.
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  [ТС] 3
Цитата Сообщение от Destank Посмотреть сообщение
PHP
1
<?=$_SERVER['SCRIPT_NAME']?>
Что значит равно стоящее перед переменной? и что именно эта часть кода делает?
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:26 4
Собственно оно тут несколько раз применяется
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  [ТС] 5
Почему не выводит сообщение при заполнении только одного поля?
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 6
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  [ТС] 7
ну вот весь пхп код.
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 8
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  [ТС] 9
Спасибо) теперь понял)
0
99 / 99 / 27
Регистрация: 26.01.2012
Сообщений: 342
Записей в блоге: 1
30.08.2012, 03:58 10
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  [ТС] 11
Теперь вопрос появился)
Почему у меня при проверке входящих данных с использованием 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
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 08:05 12
Лучший ответ Сообщение было отмечено как решение

Решение

потому что попов вас учит неверно. 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
30.08.2012, 08:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2012, 08:05
Помогаю со студенческими работами здесь

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

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

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

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


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

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