Как получить значения ввода с помощью PHP

Эй, у меня проблема, когда я не могу получить значение ввода с помощью PHP, у меня есть форма в HTML и другой файл с именем «handle.php», который я печатаю значение имени пользователя, но когда я отправляю, он направляет меня в файл "handle.php" и ничего не печатает, просто показывает скрипт.

Я попытался выполнить скрипт внутри HTML, но получил тот же результат, ничего не произошло, поэтому я подумал, что, может быть, мне нужно создать функцию, а затем вызвать ее по щелчку, но это ничего не сделало, в конце концов я сделал отдельный файл с именем «handle.php " и в форме, которую я сделал "action="handle.php", что привело к первой проблеме.

HTML:

<!DOCTYPE html>
<html lang = "en">
    <head>
        <meta charset = "UTF-8">
        <title> Hide/Show Password Login Form</title>
        <meta name = "viewport" content = "initial-scale=1.0, width=device-width" />
        <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">

        <link rel = "stylesheet" href = "./style.css">

    </head>

    <body>

        <div class = "login_form">
            <section class = "login-wrapper">

                <div class = "logo">
                    <img src = "logo.png" alt = ""></a>
                </div>

                <form id = "login" method = "post" action = "handle.php">

                    <label for = "username">User Name</label>
                    <input required name = "login[username]" type = "text" autocapitalize = "off" autocorrect = "off" />

                    <label for = "password">Password</label>
                    <input class = "password" required name = "login[password]" type = "password" />
                    <div class = "hide-show">
                        <span>Show</span>
                    </div>
                    <button type = "submit">Sign In</button>
                </form>
            </section>
        </div>
    </body>
</html>

ручка.php:

<?php
echo $_POST['login[username]'];
?>

Если он просто показывает скрипт, это означает, что код не анализируется как PHP. У вас установлен PHP?

Erik Baars 04.07.2019 14:52

Нет, вам нужно установить его? Я думал, что он автоматически устанавливается на все окна.

yarin Cohen 04.07.2019 14:55
$_POST['login'] - это массив - вы хотите $_POST['login']['username'] - вот почему предпочтительнее просто иметь пароль / имя пользователя в качестве входного имени
treyBake 04.07.2019 15:03

@yarinCohen да, вам нужно что-то вроде Xampp (apachefriends.org/index.html), чтобы PHP работал локально

Erik Baars 04.07.2019 15:16

теперь у вас есть несколько ответов, проверьте их и примите лучший ответ

devpro 05.07.2019 15:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
133
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Используя этот name = "login[password]", вы можете получить значения в PHP как:

print($_POST['login']['password']);

Еще одно решение: сохранить входной массив в переменной, например:

$post = $_POST['login'];

затем используйте как:

echo $post['password']

$_POST['login']; вернет массив php со всеми ключами, которые вы использовали в своей форме. Таким образом, вы получаете ключ username этого массива следующим образом:

echo $_POST['login']['username'];

сначала попробуйте напечатать только $_POST, тогда вы увидите, что вы получаете в запросе. всегда поможет вам для следования этому методу. отлаживайте шаг за шагом, затем получайте данные в массив.

<?php 
$request=$_POST['login'];
echo $request["username"];
echo $request["password"];

?>

Замените имя текстового поля на имя пользователя в html-коде и измените php-код на echo $_POST['username']; в дескрипторе.php

В HTML-коде

<input required name = "username" type = "text" autocapitalize = "off" autocorrect = "off" />

В php-коде (handle.php),

echo $_POST['username'];

Другие вопросы по теме