提交后保留文本值

时间:2014-09-12 07:04:18

标签: php

我试图在提交后找到如何保留我的文字值,所以我提交的文字仍然保留在文本框中,互联网上有很多参考文献,但我很难理解(新手在这里),所以我想问一下,如果有人有解决方案的话。

这是我的表单代码:

echo
"<form method='post' action='process.php'>
    <tr>
        <td>Nama Jurusan</td>
        <td>:</td>
        <td><input type='text' name='jurusan' size='50%'></td>
    </tr>
    <tr>
        <td>Nama Laboratorium</td>
        <td>:</td>
        <td><input type='text' name='lab' size='50%></td>
    </tr>
    <input name='submit' type='submit' id='ajukan' value='Ajukan'>
</form>";

正如您所看到的,我将表单放在echo中。

这是我的process.php代码:

<?php
if(isset($_REQUEST['submit'])) {
    include "../conf/koneksi.php";
    $jurusan = $_POST['jurusan'];
    $lab = $_POST['lab'];

    $urutkan= "ALTER TABLE tb_pengusul AUTO_INCREMENT = 1";
    mysql_query($urutkan);

    $input = mysql_query("INSERT INTO tb_pengusul (nama_jurusan,nama_laboratorium)
        VALUES ('$jurusan','$lab')") or die (mysql_error());

    echo "<script language=\"Javascript\">\n";
    echo "window.alert('Input sukses !')";
    echo "</script>";
    echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0;URL='../koordinator.php?url='\">";

}
?>

3 个答案:

答案 0 :(得分:1)

将Post值用作 只有在您构建页面并且提交代码位于同一页面(process.php)

时,这才有效
<?php  echo"<form method='post' action='process.php'>

<tr><td>Nama Jurusan</td>
        <td>:</td>
        <td><input type='text' name='jurusan' value='".$_POST['jurusan']."' size='50%'></td>
        </tr>
        <tr>
        <td>Nama Laboratorium</td>
        <td>:</td>
        <td><input type='text' name='lab' value='".$_POST['lab']."' size='50%'></td>
        </tr>
  <input name='submit' type='submit' id='ajukan' value='Ajukan'>
  </form>";?>

您的代码中也有错误

<td><input type='text' name='lab' size='50%></td>

应为<td><input type='text' name='lab' size='50%'></td>

答案 1 :(得分:1)

如果您的表单在process.php文件中仍然可用,请将其更改为:

 echo "<form method='post' action='process.php'>
      <tr><td>Nama Jurusan</td>
      <td>:</td>
      <td><input type='text' name='jurusan' size='50%'";
 if (isset($_POST['jurusan']))
 {
     echo " value=\'$_POST['jurusan']\'";
 }
 echo "></td>
      </tr>
      <tr>
      <td>Nama Laboratorium</td>
      <td>:</td>
      <td><input type='text' name='lab' size='50%'";
 if (isset($_POST['lab']))
 {
     echo " value=\'$_POST['lab']\'";
 }
 echo "></td>
      </tr>
      <input name='submit' type='submit' id='ajukan' value='Ajukan'>
      </form>";

答案 2 :(得分:0)

您需要使用PHP sessions

将以下字符串添加到您的process.php页面

session_start();
$_SESSION['prev_values'] = $_POST;

以及表单页面的以下内容

$lab = "";
$jur = "";
session_start();
if(isset($_SESSION['prev_values'])){
    $jur = $_SESSION['prev_values']['jurusan'];
    $lab = $_SESSION['prev_values']['lab'];
}
echo
"<form method='post' action='process.php'>
    <tr>
      <td>Nama Jurusan</td>
      <td>:</td>
      <td><input type='text' name='jurusan' size='50%' value='$jur'></td>
    </tr>
    <tr>
      <td>Nama Laboratorium</td>
      <td>:</td>
      <td><input type='text' name='lab' size='50%'  value='$lab'></td>
    </tr>
    <input name='submit' type='submit' id='ajukan' value='Ajukan'>
</form>";

安全通知: 请注意:此脚本是基本的,它易受XSS攻击(仅限于名称)。根据经验,您绝不应该直接显示用户输入而没有某种形式的卫生