-2

こんにちは私はすべてのhtmljavascriptとphpに不慣れです。これは、htmlフォームからの入力をデータベースに保存することを想定しています...しかし、なぜこれが機能しないのかわかりません...コードdosentがコマンドを実行するためにphpセクションに入っているようです...親切にアドバイスありがとうございます

<html>
<script type = "text/javascript">
   function processInputs()
   {
      //get data from html form
      var email_data;
      email_data=document.getElementById('txtInput').value;
      //document.write(email_data);

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

         mysql_select_db("internet", $con);
         $newemail = $_GET['email_data'];
         echo $newemail;
         //query
         mysql_query("INSERT INTO user_data (email) VALUES ($newemail)");

         mysql_close($con);
      ?>
   }
</script>

<FORM action="test.php" method="post">
    <INPUT type="text" value="this is a text" name"txtInput" id="txtInput" />
</FORM>

<button type="button" onclick=processInputs() >click!</button>

4

3 に答える 3

4

複数の欠陥があります。

  1. そのように PHP スクリプトを JavaScript 関数に「埋め込む」ことはできません。そのためには、AJAX を使用する必要があります - jQueryを試してください。PHPはサーバーサイド、Javascriptはブラウザベースです。
  2. そこに MySQL インジェクション ホールがあります$_GETmysql_real_escape_string()
  3. mysql_*これらの機能は非推奨であるため、使用を中止してください。この記事を読む
  4. onclickは無効です。<button type="button" onclick="processInputs()">click!</button>
于 2012-09-12T07:44:45.897 に答える
1

あなたがその認識を持っている場合 -

ボタンのクリック/ホバーなどの一部のユーザー アクションで js 関数を呼び出すと、php コードがトリガーされ、データが入力されます。

あなたは間違っています。

PHP はサーバー側のスクリプト言語であり、このように使用することはできません。完全なページはサーバー側で解析され、ブラウザーへの応答として提供されます。動的更新を行うには、 Ajax 呼び出しを使用して、php ページを呼び出し、html に入力します。

PHPフローの理解を深めるために、 coredogs.comサイトを参照することをお勧めします。

于 2012-09-12T07:52:22.557 に答える
-1

あなたの関数は呼び出されていません!!! これを変える

onClick = processInputs()

onClick = "processInputs()"

関数が呼び出されているかどうかを確認するためにアラートステートメントを試してください

また、スクリプトタグ内にphpスクリプトを含めることはできません

于 2012-09-12T07:46:26.400 に答える