OTURUM TextBox bilgi kaydetme çalışmıyor, muhtemelen acemi hata

1 Cevap php

Ben iki sayfa, A ve B var

Ben B. sayfanın bir iç yazılmış bir değişkeni yankı istiyorum

İşte ilk sayfası:

<?php session_start(); ?>

<html>
    <head>
        <title>Registration Form - 1 of 2</title>
    </head>

<body>
    <h1>Registration - Part 1 of 2</h1>
    <p>Please fill in all the required information before submitting the information.</p>
    <form action="registerFormTwo.php" method="post">
        First Name:<input type="text" name="firstName" /><br /><?php $_SESSION['firstName'] = firstName; ?>
        Last Name:<input type="text" name="lastName" /><br /><?php $_SESSION['lastName'] = lastName; ?>
        Age:<input type="text" name="age" /><br /><?php $_SESSION['age'] = age; ?>
        Date of Birth:<input type="text" name="dateOfBirth" /><br /><?php $_SESSION['dateOfBirth'] = dateOfBirth; ?>

        <input type="submit" />
    </form>
</body>

And here's the second one:

<?php session_start(); ?>

<html>
    <head>
        <title>Registration Form - 2 of 2</title>
    </head>

<body>
    <h1>Registration - Part 2 of 2</h1>
    <p>Please fill in all the required information before submitting the information.</p>        
    <?php //wrote this in just to test that session information is saving, but it isn't.
    echo $_SESSION['name']; ?>

    <form action="registerFinish.php" method="post">
        Nationality<input type="text" name="nationality" /><br /><?php $_SESSION['nationality'] = nationality; ?>
        Profession:<input type="text" name="profession" /><br /><?php $_SESSION['profession'] = profession; ?>

        <input type="submit" />
    </form>
</body>

İkinci sayfada, adı değişkeni yankılandı olmalı, ama hiçbir şey gösterir.

Yardımlarınız için teşekkür ederim.

EDIT:

İşte FormOne üzerinde kod ve hala çalışmıyor:

<?php session_start();
if ($_POST) {
  // Store our name in the session array
  $_SESSION["firstName"] = $_POST["firstName"];
}
?>

<html>
    <head>
        <title>Registration Form - 1 of 2</title>
    </head>

    <body>
        <h1>Registration - Part 1 of 2</h1>
        <p>Please fill in all the required information before submitting the information.</p>
        <form action="registerFormTwo.php" method="post">
            First Name:<input type="text" name="firstName" /><br />
            Last Name:<input type="text" name="lastName" /><br /><?php $_SESSION['lastName'] = lastName; ?>
            Age:<input type="text" name="age" /><br /><?php $_SESSION['age'] = age; ?>
            Date of Birth:<input type="text" name="dateOfBirth" /><br /><?php $_SESSION['dateOfBirth'] = dateOfBirth; ?>

            <input type="submit" />
        </form>
    </body>
</html>

1 Cevap

Form verileri $_SESSION doğrudan gitmez. Orayı yerleştirmek zorunda. Form method POST olduğundan, $_POST sunucu tarafında dışarı veri çekmek olabilir:

session_start();
if ($_POST) {
  // Store our name in the session array
  $_SESSION["name"] = $_POST["name"];
}

Sadece form gönderme başarısız bir formda değerleri tutmak istiyorsanız, oturum kullanmak gerekmez. Yine doğrudan biçimlendirme içine $_POST adlı değeri yeniden yazdırabilirsiniz:

<input type="text" name="name" value="<?php print $_POST["name"]; ?>" />

Tüm bu page that you're posting to gerçekleşir unutmayın. İlk Form page1.php üzerinde ise, o zaman tüm bu görmezden. Eğer page2.php için page1.php adlı ilanıyla ediyorsanız, page2.php üzerine yukarıdaki kodu yer olacaktır.

Update

Ben sadece form elemanlarının yanında şu fark ettim:

<?php $_SESSION['lastName'] = lastName; ?>

lastName Burada hiçbir şey ifade etmez. $_POST["lastName"] yayınlanan verileri temsil eder. Eğer son teslim değerini yazdırmak için çalışıyor olsaydı, ben bu yapardı:

<?php print $_POST["lastName"]; ?>