Como passar e colocar variável de uma página php em uma outra página (form)?

Alex.Six:

I trabalhar em duas páginas, a primeira que tem um formulário com três campos: nome, e-mail e de mensagens). Esta página irá enviar esses dados para uma segunda página, que irá validar se esses campos satisfazer os critérios.

Se na segunda página, qualquer um desses campos não cumprir os critérios, eu quero redirecionar para a primeira página (ou um terceiro php), preencha o formulário com informações anteriores e dizer ao usuário para corrigir os campos corretamente.

Estou strugling para enviar os dados formam a segunda página para o primeiro (ou terceiro) um. Alguém sabe uma boa maneira de fazê-lo?

Aqui está o meu código:

Primeira página - contato.html

<form action="validate.php" method="POST" name="emailform">
    <div class="form-group">
        <input type="text" id="name" name="nome" placeholder="Type your name">
    </div>
    <div class="form-group">
        <input type="text" id="email" name="email" placeholder="type [email protected] here">
    </div>
    <div class="form-group">
        <textarea class="form-control" cols="30" rows="10" maxlength="300" id="message" name="mensagem" placeholder="Leave your message." ></textarea>
    </div>

    <div class="form-group">
        <input type="submit" name="submit" value="Send message" onclick="alert('Thank you!')" ></form>

Segunda Página - validate.php

if(isset($_POST['nome'])) $nome = $_POST['nome'];
if(isset($_POST['email'])) $email_visitante = $_POST['email'];
if(isset($_POST['mensagem'])) $mensagem = $_POST['mensagem'];

// if does not meet the criteria, redirect to contato.html and update the form with the info
if(empty($nome)){
    Header("location:contato.html"); 
}
if(empty($email_visitante)){
    Header("location:contato.html");
}
if(empty($mensagem)){
    Header("location:contato.html");
}
// check for letters and space only
if (!preg_match("/^[a-zA-Z ]*$/",$nome)) {
    Header("location:contato.html");
}
// check if e-mail address is well-formed
if (!filter_var($email_visitante, FILTER_VALIDATE_EMAIL)) {
    Header("location:contato.php");
}

Alguém sabe como fazê-lo? Ou enviar para uma terceira página ou redirecionando para o primeiro (e preencher o formulário de novo)

Ruben Danielyan:

Você tem que sessões de usar e armazenar dados lá em uma página e de acesso em outro, aqui está um pequeno uso

<?php
// page 1
session_start();
// Set session variables
$_SESSION["nome"] = $nome;
$_SESSION["email"] = $email_visitante;
$_SESSION["mensagem"] = $mensagem;

<?php
// page 2|3|N - any other page
session_start();
// Get session variables
$nome = $_SESSION["nome"];
$email_visitante = $_SESSION["email"];
$mensagem = $_SESSION["mensagem"];

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=278528&siteId=1
Recomendado
Clasificación