2010-06-23 4 views
6

J'envoie une requête POST à ​​une page PHP, et en fonction de ce que le contenu est je veux qu'il renvoie l'une des deux pages HTML indépendantes que j'ai écrites.Comment renvoyer un fichier HTML en tant que réponse à une demande POST?

+0

S'il vous plaît montrer un peu de code. Où envoyez-vous une demande POST? De la page? En JavaScript? En PHP? En utilisant quelle fonction/bibliothèque? –

Répondre

13
if ($_POST['param'] == 'page1') 
    readfile('page1.html'); 
else 
    readfile('other.html'); 
+1

+1: Solution simple. –

2

Vous pouvez juste include la page que vous souhaitez revenir:

include('mypage.html'); 
+1

PHP peut inclure de nombreux types de fichiers. Un fichier inclus peut tout aussi bien être un document HTML - il n'a pas besoin d'être renommé. –

+0

Bon point, juste mis à jour ma réponse. –

1

comprennent juste la page

$someVar = $_POST['somevar']; 
if ($someVar == xxxxx) 
    include "page1.htm"; 
else 
    include "page2.htm"; 
1

Il y a plusieurs façons de mettre en œuvre directement cela. Vous devrez examiner les données POSTed à votre script PHP et déterminer lequel des deux documents HTML à rendre.

<?php 

    if (<your logical condition here>) { 
     include 'DocumentOne.html'; 
    } else { 
     include 'DocumentTwo.html'; 
    } 

?> 

Cela fonctionne mais n'est pas idéal données lors de la publication - tout rechargement de la page exigera que les données à réaffecté. Cela peut provoquer des effets indésirables (votre action est-elle idempotente?).

Une option plus appropriée consiste à utiliser un script PHP pour déterminer la sortie à utiliser, puis rediriger le navigateur vers le contenu approprié. Une fois que le navigateur de l'utilisateur a été redirigé, une actualisation de la page rechargera proprement la page sans aucun effet indésirable immédiat.

<?php 

    if (<your logical condition here> { 
     header('Location: http://example.com/DocumentOne.html'); 
    } else { 
     header('Location: http://example.com/DocumentTwo.html'); 
    } 

?> 
2

il est facile

<?php 
if($_POST['somevalue'] == true){ 
    include 'page1.html'; 
}else{ 
    include 'page2.html'; 
} 
?> 
Questions connexes