-2

嗨,我是所有 html javascript 和 php 的新手。这是假设将输入从 html 表单保存到我的数据库...但我不知道为什么这不起作用...代码似乎进入 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 是一种服务器端脚本语言,您不能这样使用它。完整的页面在服务器端解析并作为对浏览器的响应。要进行动态更新,请使用将调用 php 页面并为您填充 html 的Ajax 调用。

我建议参考coredogs.com网站以更好地了解 php 流程。

于 2012-09-12T07:52:22.557 回答
-1

你的函数没有被调用!!!改变这个

onClick = processInputs()

onClick = "processInputs()"

并尝试使用警报语句来查看是否正在调用函数

您也不能在脚本标签中包含 php 脚本

于 2012-09-12T07:46:26.400 回答