在javascript中嵌入php

时间:2012-09-12 07:41:02

标签: php javascript

嗨,我是所有html javascript和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>

3 个答案:

答案 0 :(得分:4)

你有多个缺陷:

  1. 你不能将PHP脚本“嵌入”到javascript函数中,因为你应该使用AJAX - 试试jQuery。 PHP是服务器端,Javascript是基于浏览器的。
  2. 你有一个MySQL注入孔,你应该用$_GET
  3. 来逃避你的mysql_real_escape_string()
  4. 停止使用mysql_*,因为这些功能已弃用。 Read this article
  5. onclick无效,应为<button type="button" onclick="processInputs()">click!</button>

答案 1 :(得分:1)

如果你有这样的看法 -

  

在某些用户操作(例如按钮单击/悬停等)上调用js函数会触发php代码并填充数据,

然后你错了

PHP是一种服务器端脚本语言,您无法以这种方式使用它。完整页面在服务器端解析,并作为对浏览器的响应给出。要进行动态更新,请使用 Ajax调用调用php页面并为您填充html。

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

答案 2 :(得分:-1)

你的功能没有被调用!!! 改变这个

  

onClick = processInputs()

  

onClick =“processInputs()”

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

此外,您无法在脚本标记

中使用php脚本