2012-04-26 3 views
0

Je fais quelques sites Web pour les clients utilisant Indexhibit ou Wordpress. Je continue d'obtenir la même chose: «Où puis-je me connecter? email à partir d'eux afin de créer un formulaire simple sur mon site où un client peut y entrer URL, sélectionnez soit Wordpress/Indexhibit et cliquez sur aller et être redirigé sur le site.Simple PHP Form Redirect

J'ai construit, après quelques googler:

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1'];    header('Location: http://' . $siteid1 . '/ndxz-studio/'); else:?> 
<form action="<?php echo $_SERVER['../PHP_SELF']; ?>" method="post"> 
<h3>Indexhibit</h3> 
<p class='formp'>If your website is powered by <em>Indexhibit</em> submit your URL to be forwarded to your admin area</p> 
<input input class='loginforms' type="text" value='i.e. your-domain-name.com' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'i.e. your-domain-name.com':this.value;" name="siteid1" /> 
<input class="btn btn-success loginbuttons" type="submit" value="Go" /> 
</form> 
<?php endif; ?> 

Et puis même à nouveau directement sous pour Wordpress.

Cependant, parce que je suis en utilisant

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1'];    header('Location: http://' . $siteid1 . '/ndxz-studio/'); else:?> 

Il semble que de prendre accepter un formulaire sur le site. (Donc soit Indexhibit ne se rend pas/ndxz-studio ou wp ne se rend pas wp-admin)

PHP est pas mon fort si des excuses que j'ai commis des erreurs stupides

Répondre

3

Il est pour cette raison:

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1']; 

Ceci est toujours vrai dans votre forme. Donc, PHP l'exécute. PHP n'atteint jamais la seconde instruction if, donc il ne s'exécute jamais.

Essayez une déclaration if else et assurez-vous que vos noms de formulaire sont uniques

EDIT:

ici est un exemple de code pour démarrer.

if($_POST['siteid1']) { 
    $siteid1 = $_POST['siteid1']; 
    // execute code here 
} elseif($_POST['siteid2']) { 
    $siteid1 = $_POST['siteid1']; 
    // Execute code here 
} 
+0

C'est ce que je suis aux prises avec. Comment puis-je construire l'instruction IF si les formulaires sont séparés? – tjh

+0

Voir l'exemple ci-dessus. Fondamentalement, vous êtes en train de détecter quel '$ _POST' est défini. En fonction de cela, vous allez exécuter le code approprié. –

+0

Voici un lien vers les documents pour plus de précisions ... http://us3.php.net/manual/fr/control-structures.elseif.php –