0

好吧,又出现了一个未定义的索引:

我正在尝试更改数据库中的选择行,但到目前为止它似乎不起作用,我只得到

Notice: Undefined index: EierID in C:\WampServer\www\Hundeklubben\ChangeO.php on line 19.

我尝试了一些修复,但没有一个奏效。

<?php require_once('Connections/hundeklubb.php'); ?>

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Endring av eier</title>
<link rel="stylesheet" href="index.css" />
</head>

<body>

<?php
if(isset($_GET['EierID'])){ $name = $_GET['EierID']; } 
//Tried with both $_GET and $_POST
?>

<?php
$UID = (int)$_GET['EierID'];
$query = mysql_query("SELECT * FROM eiere WHERE EierID = '$UID'") or die(mysql_error());

if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
    $navn = $row['Navn'];
    $bosted = $row['Bosted'];
}
?>

<form name="form1" action="update.php" method="POST" id="form1">
<input type="hidden" name="ID" value="<?=$UID;?>">
Navn: <input type="text" name="ud_navn" value="<?=$navn?>"><br>
Bosted: <input type="text" name="ud_bosted" value="<?=$bosted?>"><br>
<input type="Submit" value="Oppdater">
</form>
<?php
}else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>

<?php var_dump($UID); ?> 

</body>
</html>

var_dump了我int 0。我不确定它应该是什么。

更新.php

<?php require_once('Connections/hundeklubb.php'); ?>
<?php
$ud_ID = (int)$_POST["ID"];

$ud_navn = mysql_real_escape_string($_POST["ud_navn"]);
$ud_bosted = mysql_real_escape_string($_POST["ud_bosted"]);


$query="UPDATE eiere
        SET navn = '$ud_navn', bosted = '$ud_bosted' 
        WHERE ID='$ud_ID'";


mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){
echo "<p>($ud_ID) Record Updated<p>";
}else{
echo "<p>($ud_ID) Not Updated<p>";
}
?>
4

2 回答 2

4

这是因为$_GET['EierID']没有设置。

尝试这个 :

$UID = isset($_GET['EierID'])?$_GET['EierID']:"";

在 update.php 中也做同样的事情:$ud_ID = isset($_POST["ID"])?$_POST["ID"]:"";

于 2013-03-07T09:32:58.433 回答
0

如果您的变量不存在,您将在尝试强制转换该 int 时遇到错误。

<?php
if(isset($_GET['EierID'])){ 
    $name = $_GET['EierID']; 
    $UID = (int)$_GET['EierID'];
}else{
    //set to 0 or any default value you want to set when EierID doesn't exists
    $UID = 0; 
} 
?>
于 2013-03-07T09:39:52.277 回答