0

現在、ワードプレス Web ページのフォームから mysql データベースにデータを入力しようとしています。

ここにワードプレスのhtmlページのコードがあります

<table>
<form name="form1" method="post" action="basisForm.php">
<strong>Please enter your information in order to download the Macs Cabs App</strong>
<tr><td>
Surmane Name:</td><td><input name="sname" type="text" id="sname"></td></tr> 
<tr><td>
First Name:</td><td><input name="fname" type="text" id="fname"></td></tr>
<tr><td>
Home Address:</td><td><input name="homeaddr" type="text" id="homeaddr"></td></tr>
<tr><td>
Most common Destination:</td><td><input name="commondest" type="text" id="commondest"></td></tr>
<tr><td>
Mobile Number:</td><td><input name="mobileno" type="text" id="mobileno"></td></tr>
<tr><td>
Home Number:</td><td><input name="homeno" type="text" id="homeno"></td></tr>
<tr><td>
Email Address:</td><td><input name="email" type="text" id="email"></td></tr>
<tr><td>
<input type="submit" name="Submit" value="Submit"></td></tr>
</form>
</table>

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

 mysql_select_db("macs cabs", $con);

$sql="INSERT INTO customers (sname, fname, homeaddr, commondest, mobileno, homeno, email)
VALUES
  ('$_POST[sname]','$_POST[fname]','$_POST[homeaddr]','$_POST[commondest]','$_POST[mobileno]','$_POST[     homeno]','$_POST[email]')";          




if (!mysql_query($sql,$con))
 {
 die('Error: ' . mysql_error());
  }
 echo "1 record added";

 mysql_close($con);
?> 

phpexec プラグインをインストールしましたが、問題なく動作しているようです。

フォームにデータを入力して送信すると、データベースに表示されません。

主キーが自動インクリメントされ、何かが発生したことを知らせているようですが、データは表示されません。

前もって感謝します

4

5 に答える 5

0

お探しの回答ではないかもしれませんが...

私はおそらくワードプレスの組み込み関数を使用するでしょう。カスタム投稿タイプは、この機能を許可します。(http://codex.wordpress.org/Post_Types) それについての記事があります: http://wpshout.com/wordpress-submit-posts-from-frontend/

これは、ワードプレスの入力サンタイズを活用し、UI がバックエンドでデータを表示して編集や削除などを行えるようにすることを意味します。

于 2012-11-09T12:16:03.070 に答える
0

@jamalali81は彼の答えで正しい軌道に乗っていますが、コードが次のようになるように、 $_POST 変数の周りの '' を削除します。

$sql="INSERT INTO customers (sname, fname, homeaddr, commondest, mobileno, homeno, email)
VALUES ({$_POST['sname']},{$_POST['fname']},{$_POST['homeaddr']},{$_POST['commondest']},{$_POST['mobileno']},{$_POST['homeno']},{$_POST['email']})";

また、SQL インジェクションを回避するために、PDO を使用して変数を消去する必要があります。

上記で問題が解決しない場合は、顧客テーブル構造も役立ちます。

于 2012-11-09T12:34:59.647 に答える
-1

このクエリで確認してください:-

"INSERT INTO customers (sname, fname, homeaddr, commondest, mobileno, homeno, email)
VALUES
  ('$_POST['sname']','$_POST['fname']','$_POST['homeaddr']','$_POST['commondest']','$_POST['mobileno']','$_POST['homeno']','$_POST['email']')";

役立つかもしれません... :)

于 2012-11-09T12:00:59.700 に答える