MySQL PHP GAE表单

时间:2015-03-17 16:04:23

标签: php mysql sql forms google-app-engine

我有以下表格:

<h2>Sign the Register</h2>
<form action="sign.php" method="post"> 
<div><textarea name="firstName" rows="3" cols="60" placeholder="First Name..." required="true"></textarea></div>
<div><textarea name="surname" value="mickey" rows="3" cols="60" placeholder="Surname..." required="true"></textarea></div>
<div><textarea name="course"  value="mickey" rows="3" cols="60" placeholder="Your Course..." required="true"></textarea></div>
<div><textarea name="subject" rows="3" cols="60" placeholder="Subject..." required="true"></textarea></div>
<div><textarea name="level" rows="3" cols="60" placeholder="Level: C, I, H, M..." required="true"></textarea></div>
<div><textarea name="date" rows="3" cols="60" placeholder="Date.." required="true"></textarea></div>
<div><textarea name="time" rows="3" cols="60" placeholder="Time.." required="true"></textarea></div>
<div><input type="submit" value="Sign Register"></div>

并且sign.php是(连接正常):

{
if (array_key_exists('firstName', 'surname', 'course', 'subject', 'level', 'date', 'time', $_POST)) {
$stmt = $db->prepare('INSERT INTO entries (firstName, surname, course, subject, level, date, time) VALUES (:firstName, :surname, :course, :subject, :level, :date, :time)');
$stmt->execute(array(':firstName' => htmlspecialchars($_POST['firstName']),
':surname' => htmlspecialchars($_POST['surname']),
':course' => htmlspecialchars($_POST['course']),
':subject' => htmlspecialchars($_POST['subject']),
':level' => htmlspecialchars($_POST['level']),
':date' => htmlspecialchars($_POST['date']),
':time' => htmlspecialchars($_POST['time'])));
 $affected_rows = $stmt->rowCount();

 }
 }
 $db = null;
 ?>

当执行该操作时,用户将进入以下页面,其中包含以下内容:

    <?php

          try {
// Show existing entries.
foreach($db->query('SELECT * from entries') as $row) {
        echo "<div><strong>" . $row['firstName'] . "</strong> wrote <br> " . $row['course'] . "</div>";
 }
  } catch (PDOException $ex) {
echo "An error occurred in reading or writing to register.";
  }
  $db = null;
?>

但问题是没有任何记录显示在成功页面上。我正在使用谷歌应用引擎与云SQL数据库(连接很好)。它基本上是一个表单,用户填写表单然后将数据发送到云sql数据库。此外,一旦用户提交表单,他们将被带到显示刚刚提交的信息的页面。任何更容易/更好的方法都是受欢迎的。

谢谢

1 个答案:

答案 0 :(得分:1)

array_key_exists只需要分割两个参数(键,数组)

  

if(array_key_exists('firstName','surname','course','subject','level','date','time',$ _POST))

进入多个条件

if(array_key_exists('firstName', $_POST) && array_key_exists('surname', $_POST) ... array_key_exists('time', $_POST))