" /> -6ren">
gpt4 book ai didi

php - 隐藏值未发布

转载 作者:行者123 更新时间:2023-11-30 22:47:57 27 4
gpt4 key购买 nike

我在使用以下代码时遇到了一些问题。隐藏字段不会发布到下一页。我试图将它放在选项字段旁边,但这会产生一些不同的问题,例如复制下拉菜单。

谁能帮帮我?

<?php 
$dbhost = 'localhost';
$dbuser = '-----';
$dbpass = '-----';
$db = '-----';

$conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);

$query = "SELECT * FROM Eintraege"; $result = mysql_query($query);
?>

<form action="deletescript.php" method="post">



<select name="loeschen">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['ID'];?>"><?php echo $line['Titel'];?></option>
<?php
}
?>
</select>



<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<input type="hidden" name="titel" value="<?php echo $line['Titel'];?>" />
<?php
}
?>




Vorname <br /><input type="text" name="name" value="" class="text" /><br /><br />
Name <br /><input type="text" name="vorname" value="" class="text" /><br /><br />
Email <br /><input type="text" name="email" value="" class="text" /><br /><br />

<input type="submit" name="submit" />
</form>

最佳答案

您至少应该使用 mysqli,确保您在安全页面上建立连接,例如:

// connect.php
<?php
function db(){
return new mysqli('host', 'username', 'password', 'database');
}
?>

你还有其他一些问题。

1) 由于 mysql_fetch_array() 总是返回下一行结果,当 mysql_fetch_array() 在第二个 while 循环中再次调用时,$linefalsey,因为没有更多的行可以获取,所以循环不会运行。如果您像那样使用 fetch,您可以reset($line),但我建议您不这样做。

2) 不能两次使用相同的 HTML name 属性,除非在其末尾添加 []。然后您可以在 PHP 中将其作为数组访问。

// otherpage.php
<?php
include 'connect.php'; $db = db(); $opts = $hdns = '';
if($q = $db->query('SELECT * FROM Eintraege')){
if($q->num_rows > 0){
while($r = $q->fetch_object()){
$t = $r->Titel;
$opts .= "<option value='$t'>$t</option>";
$hdns .= "<input name='titel[]' type='hidden' value='$t' />";
}
// now you can echo $opts and $hdns where you want
}
else{
$errors[] = 'No result rows were found';
}
$q->free();
}
else{
$errors[] = 'database connection failure';
}
$db->close(); if(isset($errors))die(implode(' & ', $errors));
?>

要在您要提交的页面上获取名为 titel 的输入,就像:

<?php
if(isset($_POST['titel'])){
// get each one
foreach($_POST['titel'] as $t){
// $t is each one
}
}
?>

请注意,将数据放入隐藏输入然后将其发送回服务器通常毫无意义,因为无论如何您都可以访问该信息。如果您希望根据客户端输入将某些内容发送到数据库,则需要学习 AJAX。

关于php - 隐藏值未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29022028/

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