PHP代码的错误更正

时间:2011-08-10 16:48:21

标签: php jquery

我编写了以下代码,但无法弄清楚其中的错误..

它没有弹出任何错误..它的作用是它只停留在html页面上

它有什么不对吗?

html page

<html>
<head>


<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
   $(document).ready(function(){
 function get(){
$("#button1").click(function(){
$.post('script_1.php', { name: form.name.value },
function(output) {
$('#age').html(output).show();
}) ;
});
 } 

$("#button2").click(function(){
$('form#myForm').attr({action: "script_2.php"});
$('form#myForm').submit();
});
});

</script>
</head>
<body>
 <form id="myForm" method="post">
doi: <input type="text" name="name"/>
<input type="button" id="button1" value ="Get" onclick="get();"/>
<input type="button" id="button2" value="Submit to script 2" />
title:<input type="text" name="title"/>
</form>
<div id="age"></div>
</body>
</html>

第一个按钮的script_1.php是

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
//connect to database

$name = mysql_real_escape_string($_POST['name']);



 if ($name==NULL)
 echo "please enter an id!";
 else
 {   
 $age= mysql_query("SELECT title FROM parentid WHERE id ='$name'");
 $age_num_rows = mysql_num_rows($age);   
  if ($age_num_rows==0)
  echo "id does not exist";

else
{

$sql ="SELECT * FROM parentid WHERE id = '$name'";       
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$abc_output= "Existing data of the record <br />";      
$abc_output .="Title: " . $row['title'] . "<br />" ;
$abc_output .="Report No: " .  $row['reportno'] . "<br />" ;
$abc_output .="URL: " .  $row['calc_url'] . "<br />" ; 
$abc_output .="Institution: " .  $row['institution'] . "<br />" ; 

}
}
echo $abc_output;

}
}
?>

script_2.php是另一个php文件

在数据库中进行更新操作。

//标题表单仅在script_2.php中用于更新。 script_1.php用于显示DB中已存在的元素。

帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

您的HTML和Javascript代码存在轻微问题。您声明点击功能的方式不合适。试试这个:

<html>
<head>


<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
$(document).ready(function(){
    $("#button1").click(function(){
        $.post('script_1.php', { name: $('input[name$="name"]', '#myForm').val() },
            function(output) {
                $('#age').html(output).show();
            });
    });

    $("#button2").click(function(){
        $('form#myForm').attr({action: "script_2.php"});
        $('form#myForm').submit();
    });
});

</script>
</head>
<body>
 <form id="myForm" method="post">
doi: <input type="text" name="name"/>
<input type="button" id="button1" value ="Get"/>
<input type="button" id="button2" value="Submit to script 2" />
title:<input type="text" name="title"/>
</form>
<div id="age"></div>
</body>
</html>

以下是您要求的两个SQL查询:

$age= mysql_query("SELECT title FROM parentid WHERE id =(select id from parentid where name='$name')");


$sql ="SELECT * FROM parentid WHERE id = (select id from parentid where name='$name')"; 

答案 1 :(得分:0)

首先想到的是一些事情,首先,你有这个:

 if ($name==NULL)
 echo "please enter an id!";

应该更像是

 if (empty($name))
 echo "please enter an id!";
接下来,你有这个:

$name = mysql_real_escape_string($_POST['name']);

我应该更喜欢

if(isset($_POST['name'])) $name = mysql_real_escape_string($_POST['name']);
else echo "they didnt use the form.";

最后,我没有看到和编码实际连接到数据库。

答案 2 :(得分:0)

好的,我有一个解决方案。

这是我的示例表单

<form action='posted.php' method='post'>
<input type='submit' name='b1' value='Button 1' /><br />
<input type='submit' name='b2' value='Button 2' /><br />
</form>

这里是'posted.php'

<?php
if(isset($_POST['b1'])) echo 'Button 1';
if(isset($_POST['b2'])) echo 'Button 2';
?>

当您按下“按钮1”时,php会显示“按钮1”,按钮2也是如此。