gpt4 book ai didi

PHP HTML 表单保留输入的数据和 isset()

转载 作者:行者123 更新时间:2023-11-30 00:34:26 25 4
gpt4 key购买 nike

我在使用下面的当前代码时遇到问题。我试图保留使用 PHP_SELF 输入到 a 和 b 数据框中的用户输入的信息,但这不会发生。我想我可能必须在 HTML 代码中添加某种 POST 语句,但我不确定。另外,我尝试使用 isset() 来确定是否输入了两个字段,但它似乎不起作用,因为每次都会调用 die() 。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">



<html>

<body>
<form method="post" action="<?php echo $PHP_SELF;?>">

<table align="center" border="0">
<tr>
<td>a:</td>
<td ><input type="text" VALUE="<?php $a ?>" name="a" size="6" maxlength="6"></td>
</tr>
<tr>
<td>b:</td>
<td ><input type="text" VALUE="<?php $b ?>" name="b" size="10" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order"></td>
</tr>
</table>

</form>

<?php
if(isset($_POST['a']) && isset($_POST['b'])){


$a = $_POST['a'];
$b = $_POST['b'];

$query = "SELECT * FROM DATA WHERE $a = DATA1 $b = DATA2";


$name= mysql_query($query) or die();

echo '<table border = 1>';

while($row = mysql_fetch_assoc($name))
{
echo '<tr>';
foreach($row as $cvalue) {
print '<td>'.$cvalue.'</td>';
}
echo '</tr>';
}
echo '</table>';


}



?>

最佳答案

我会检查你的代码并看看我发现了什么。没有保证。我可能找不到问题,但我可能会以其他方式提供帮助。

  <tr>
<td>a:</td>
<td ><input type="text" VALUE="<?php $a ?>" name="a" size="6" maxlength="6" /></td>
</tr>
<tr>
<td>b:</td>
<td ><input type="text" VALUE="<?php $b ?>" name="b" size="10" maxlength="10" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
</tr>

您应该自行关闭输入标记(使您更接近 XHTML 标准)。另外,<input> 中的 PHP控件格式错误。这些语句应如下所示:

<td ><input type="text" VALUE="<?php echo Sa; ?>" name="a" size="6" maxlength="6" /></td>  // echo() statements!
<td ><input type="text" VALUE="<?php echo Sb; ?>" name="a" size="6" maxlength="6" /></td>
<td ><input type="text" VALUE="<?php echo Sc; ?>" name="a" size="6" maxlength="6" /></td>

<?php if(isset($_POST['a']) && isset($_POST['b'])){

或者,如果您只想调用 isset() 一次

 <?php 

if(isset($_POST['a'], $_POST['b'])){

PHP Manual: isset()

 $query = "SELECT * 
FROM DATA
WHERE $a = 'DATA1' AND $b = 'DATA2'";

如果字段 $a 和 $b 引用字符串值,请确保正确引用查询字符串。但是,由于 $a 和 $b 是用户输入的内容,我相信你的有点倒退。

 $query = "SELECT * 
FROM DATA
WHERE DATA1 = '$a'
AND DATA2 = '$b'";

啊,现在这更有意义了。如果 DATA1 和 DATA2 字段引用整数(int 值),则查询将如下所示

$查询=“选择* 来自数据 其中数据1 = $a AND DATA2 = $b";

对于以下代码片段...您没有使用 $cvalue 作为关联数组。 PHP Manual: mysql_fetch_assoc()

如果您只需要值(而不是键和值),则可以使用 mysql_fetch_array()

while($row = mysql_fetch_assoc($name)) 
{
echo '<tr>';
foreach($row as $cvalue)
{
print '<td>'.$cvalue.'</td>';
}
}

echo '</tr>';
}

...这可能对你来说效果更好一些。

while($row = mysql_fetch_array($name)) 
{
echo '<tr>';
foreach($row as $cvalue) //Now you are cooking with gas.
{
echo '<td>'.$cvalue.'</td>';
}
echo '</tr>';
}

如果您有时间更改代码,请给 mysqli 函数一个机会。 PHP Manual: MySQLi

希望这不是太残酷。只是想帮忙。 :-)

关于PHP HTML 表单保留输入的数据和 isset(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com