2016-04-08 30 views
0

Form değerlerimi depolarken bir sorunum var. Amacım, ilk formumu göndermek, bir değişkenin içindeki değerleri kaydetmek, ikinci formuma yönlendirmek ve veritabanımda (SQL) tüm form değerlerini göndermek/saklamak.PHP Yönlendirme çalıştırılamıyor mu?

HTML

<form action="process.php" class="form" method=POST name="firstform" onsubmit="return chkForm()"> 
     <label id="form_title">Bevor wir anfangen können, benötigen wir noch ein paar Informationen von Ihnen:</label> 
     <br/> 
     <br/> 
     <label for="name">Benutzername</label> 
     <input type="text" id="name" name="name" value=""> 

     <label for="email">Email</label> 
     <input type="email" id="email" name="email" value=""> 

     <button type="submit" name="submit" value="abschicken">Eingaben absenden</button> 
    </form> 

process.php i $ takma ve $ postaya değerleri kurtardıktan sonra benim komut yönlendirmediğinden Neden

try { 
$connect = new PDO("mysql:host=$host;dbname=$name;charset=utf8mb4", $user, $pass); 
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$connect->beginTransaction(); 
if (!empty($_POST['firstform'])) { 
    $alias = $_POST['name']; 
    $mail = $_POST['email']; 
    echo '<script type="text/javascript">window.document.location.href = "http://www.example.de/form2.php";</script>'; 
    exit; 
} 
if(isset($_POST['fullform'])){ 
    $connect->exec("INSERT INTO user (name, email, answer_0, answer_1, answer_2, answer_3, answer_4, answer_5, answer_6, answer_7, answer_8, answer_9, answer_10, answer_11, answer_12, answer_13, answer_14, answer_15, answer_16, answer_17) VALUES ('$alias', '$mail', '$_POST[answer_0]', '$_POST[answer_1]', '$_POST[answer_2]', '$_POST[answer_3]', '$_POST[answer_4]', '$_POST[answer_5]', '$_POST[answer_6]', '$_POST[answer_7]', '$_POST[answer_8]', '$_POST[answer_9]', '$_POST[answer_10]', '$_POST[answer_11]', '$_POST[answer_12]', '$_POST[answer_13]', '$_POST[answer_14]', '$_POST[answer_15]', '$_POST[answer_16]', '$_POST[answer_17]');"); 

} 
$connect->commit(); 
echo "Danke Für Ihre Teilnahme"; 
echo $_POST['email']; 
exit; 

.

+0

değişiklik –

+0

'var_dump ($ _ POST [ 'firstform']) kullanmayı deneyin window.location.href için? Sayfanızda javascript var mı? –

+0

hmm ... var_dump bana NULL veriyor, ama nedenini anlayamıyorum: if ifadesini değiştirirseniz (! Empty ($ _ POST ['mail'])) Yönlendirmeyi alırım (ancak hiçbir değer kaydedilmez) İlk form boş olabilir, ancak posta değil? – Cornykid

cevap

1

javascript yerine header("location:http://www.example.de/form2.php");'u kullanabilirsiniz. javascript kullanmak istiyorsanız

sonra sitede hızlı aramada window.location yerine

echo "<script type="text/javascript">window.location = 'http://www.example.de/form2.php';</script>"; 
+0

Bunu denedim, ancak aynı zamanda çalışmıyor – Cornykid

+0

Ama yönlendirme önce bazı metin göstermeniz gerekiyorsa JavaScript daha iyidir. –

İlgili konular