我编写了以下代码,但无法弄清楚其中的错误..
它没有弹出任何错误..它的作用是它只停留在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中已存在的元素。
帮助表示赞赏。
答案 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也是如此。