0

私は障害にぶつかった完全な初心者です。私はtwitterブートストラップを使用しており、phpを介してフォームモーダルをmysqlサーバーにPOSTしようとしています。これが私のコードです:

HTML(index.html):

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="ModalLabel">****</h3>
  </div>
  <div class="modal-body">
    <form id="modal-form" accept-charset="UTF-8" method="POST" action="submitform.php" data-remote="true" >
      <p>Give us your email, and we'll send you an invitation</p>
      <fieldset>
    <input type="text" name="email" id="email" class="reqInput" placeholder="Email Address">
    <input type="text" name="name" id="name" class="reqInput" placeholder="Full Name">
    <input type="text" name="company" id="company" class="reqInput" placeholder="Company">
    <input type="text" name="title" id="title" class="reqInput" placeholder="Title">
      </fieldset>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <a id="modal-form-submit" type="submit" name="submit" class="btn btn-primary" href"#">Submit</a>
  </div>
</form>
</div>

PHP(submitform.php):

<?php
$host="localhost"; // Host name 
$username="***"; // Mysql username 
$password="***"; // Mysql password 
$db_name="users"; // Database name 
$tbl_name="userRequests"; // Table name

// Connect to server and select databse.
$con = mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$name=$_POST['name']; 
$company=$_POST['company'];
$email=$_POST['email'];
$title=$_POST['title'];

if(strlen($name) > 1 && strpos($email, "@")){

// To protect MySQL injection (more detail about MySQL injection)
$name = mysql_real_escape_string(stripslashes($name));
$company = mysql_real_escape_string(stripslashes($company));
$email = mysql_real_escape_string(stripslashes($email));
$title = mysql_real_escape_string(stripslashes($title));

$sql="INSERT INTO $tbl_name (FullName, Company, Email, Title) VALUES ('$name', '$company', '$email', '$title')";

exit;
}
?>

Charlesをチェックしていますが、奇妙なことに、ローカルコマンドエラーが発生するまで、POSTが約45秒間送信されていません。そういうものとして、私はどのように進めるかについて途方に暮れています。私はいくつかのことを見逃していると確信しています。アドバイスをいただければ幸いです。

PS SQLデータベースは、置き換えようとしている古いphpサイトに接続しているため、機能していることがわかります。フィールドはテキストなどです。問題は上記の私のコードにあります。

4

2 に答える 2

0

あなたはあなたの締めくくり}を逃していますif(strlen(....

更新しました:

HTML

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="ModalLabel">****</h3>
  </div>
  <div class="modal-body">
    <form id="modal-form" accept-charset="UTF-8" method="POST" action="submitform.php" data-remote="true" >
      <p>Give us your email, and we'll send you an invitation</p>
      <fieldset>
    <input type="text" name="email" id="email" class="reqInput" placeholder="Email Address">
    <input type="text" name="name" id="name" class="reqInput" placeholder="Full Name">
    <input type="text" name="company" id="company" class="reqInput" placeholder="Company">
    <input type="text" name="title" id="title" class="reqInput" placeholder="Title">
      </fieldset>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <input id="modal-form-submit" type="submit" name="submit" class="btn btn-primary" href"#" value="Submit"/>
  </div>
</form>
</div>

<a>タグに入力タイプを設定することはできません。これでコードが投稿されます。なぜexit;PHPファイルにあるのですか?

于 2013-03-18T22:18:17.460 に答える
0

問題は送信ボタンではなく送信ボタンにあると思います

<a id="modal-form-submit" type="submit" name="submit" class="btn btn-primary" href"#">Submit</a>

使用する

<input type="submit" id="modal-form-submit" name="submit" class="btn btn-primary" />
于 2013-03-19T04:21:02.830 に答える