2012-04-10 81 views
0

我设计了纯html网站,有一个查询表单。它有一些字段,如姓名,地址等。 点击提交按钮,我想这个数据进入数据库。 我创建的数据库和表使用phpmyadminXAMPP服务器。PHP函数调用

我的代码如下(hello.php):

<script> 
function insert_db() 
{ 

    <?php 
    $username = $_POST['name']; 
    print ($username); 
    mysql_connect("localhost","root",""); 
    mysql_select_db("addressbook"); 

    mysql_query("insert into colleague values ('$username')"); 

    ?> 


     } 
</script> 

    <form method="post"> 
    <input type="name" name="name" /><br /> 
    <input type="submit" name="mysubmit" value="Submit" onclick="insert_db()"/> 

点击提交按钮两个条目被制作成database.One是空白和其他输入值。 如何调用函数只有一次??是否有任何其他出路..

+1

以自己的方式做这个之前,您应该阅读一些基本的PHP教程。 PHP在页面加载时在服务器上执行,而不是在调用打印在内部的JavaScript函数时。 – Bojangles 2012-04-10 11:46:55

回答

4

你不能像这样混合php和javascript。你会发现,PHP将始终在服务器端执行,无论它在文件中的位置(PHP不知道JavaScript)。因此,第一次加载页面时,它会插入一个空行(因为$ _POST ['name']为空)。然后,如果您单击提交,它将不会执行任何操作,因为JavaScript代码为空,将表单提交到服务器并再次评估PHP代码,这次会得到所需的效果。

一个适当的方式做到这一点是:

<?php 
if (!empty($_POST['name'])){ // check if form values are there 
    $username = $_POST['name']; 
    print ($username); 
    mysql_connect("localhost","root",""); 
    mysql_select_db("addressbook"); 

    mysql_query("insert into colleague values ('$username')"); 
} 
?> 

<form method="post"> 
    <input type="name" name="name" /><br /> 
    <input type="submit" name="mysubmit" value="Submit" /> 
</form> 

您可能还希望通过PHP Tutorial第一

5

你不能,我重复不能,结合JS和PHP这种方式。

右键单击该页面,选择查看源代码,然后您将清楚地看到原因。

PHP在浏览器获取页面之前运行。

因此,您在载入表单时会得到一个空记录,然后在您提交时填充一个记录,因为$username被定义为该时间。

+0

okk ...我是新来的PHP .... – poonam 2012-04-11 04:15:53