POST farklı bir sayfaya SelectValue bağlı?

4 Cevap php

Ben farklı bir sayfaya göndermek istiyorum benim <select> kutusunda seçilen değere bağlı olarak, bir form var.

Bunu yapmak için en iyi yol bilmiyorum, ama belki de en iyi yolu, her zaman, daha sonra ara sayfa <select> kutusundan gönderilen değerini kontrol olması için yazılan bir ara sayfa var olduğunu düşünüyorum ve ne bağlı olarak farklı bir sayfaya POST değerleri iletin. Bu en iyi yolu ise, bunu nasıl yapabilirim? Eğer değilse, ne iyi yolu nedir?

Teşekkürler!

4 Cevap

Bu iyi bir yoldur. Alternatif form ve submit() bunun action özelliğini yeniden, tıklayın kesmek için Javascript kullanmaktır.

Olsa PHP için:

First page:

<form action="intermediary.php" method="post">
  <input id="submitTo">
    <select value="1">goToFirstPage</select>
    <select value="2">goToSecondPage</select>
  </input>
</form>

Second page:

<?php
  $url = "";
  if($_POST["submitTo"] == "1") $url = "http://mysite.com/firstPage.php";

 if($_POST["submitTo"] == "2") $url = "http://mysite.com/secondPage.php";

 header ("Location: $url");    
?>

Don't put actual URLs in your first page, or you'll run into massive security issues.

bu kesinlikle kullanıcı uyumluluk için en iyi yöntem olacaktır.

Eğer HTTP yeniden yönlendirme başlığını kullanarak yapabileceğini, örneğin

header("Location: http://www.example.com/");

Sayfanın herhangi bir çıkışı yoktur önce aranmalıdır hangi.

O ileri / geri düğmeleri bastığında bu şekilde kullanıcı bile ara sayfasında arazi olmaz.

Gördüğüm diğer tek seçenek formu hedef ya da bu satırları salong şey değiştirmek için javascript kullanmak olacaktır, ama (javascript etkin olması gereken bazı uyarılar vardır, daha karmaşık kod, yönlendirme gerçekten bir sayfa görünümünde olmamalı )

javascript

function form_submitted(){
   switch(document.myform.select_name.value){
     case 'whatever':
        document.myform.target.value = "whatever_you_need";
        break;
     case 'whatever2':
        document.myform.target.value = "whatever_you_need_2";
        break;
    }
}

Sonra "onSubmit" özniteliği ile forma için bu işlev atamak, ya da bir düğme (yerine Gönder düğmesini daha) olduğunu işlevini çağırır ve işlevi sonunda document.myform.submit () ekleyin ya.

Ben formun hedefini değiştirmek için javascript kullanmak istiyorum

Eğer gerçekten php kullanmak istiyorsanız, denemelisiniz curl: