所以我基本上复制了以下代码,execpt重命名列名。
表格如下:
<table align="left" width="30%" border="0" >
<form action="company_edit_php.php" method="post">
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>"/><br></td></tr>
<td> <input type="submit" value="Change" /></td></tr>
和PHP代码:
<?php
$con = mysql_connect("localhost","username","password");
$id = isset($_GET['id']) ? (int)$_GET['id']: 1;
mysql_select_db("Database", $con);
if (isset($_POST['Location'])) {
echo $_POST['Location'];
} else {
echo 'empty';
}
$Location = $_POST['Location'];
此代码的结果是未定义索引:位置和if语句我得到“空”。 为什么同样的代码适用于另一个页面?我现在该怎么办?
感谢您的努力
答案 0 :(得分:2)
要更正索引帖子,请在文件开头使用此命令并使用变量$Location
$Location = (isset($_POST["Location"])?$_POST["Location"]:"");
答案 1 :(得分:1)
您必须更改表单,因为您错过name
输入并使用$_GET
检索值,您必须像这样使用它:
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" name="Location" value="<?php echo $row['Location']?>"/><br></td></tr>
答案 2 :(得分:1)
要获取文本框的值,您需要为它们命名
<table align="left" width="30%" border="0" >
<form action="company_edit_php.php" method="post">
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>" name='location'/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>" name='user'/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>" name='phone'/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>" name='mail'/><br></td></tr>
<td> <input type="submit" value="Change" /></td></tr>
答案 3 :(得分:0)
试试这个:
<?php
$con = mysql_connect("localhost","username","password");
$id = isset($_GET['id']) ? (int)$_GET['id']: 1;
mysql_select_db("Database", $con);
$location= "";
if (isset($_POST['Location'])) {
$location= $_POST['Location']; // <------------- put this here!
//echo $_POST['Location'];
} else {
echo 'empty';
}
echo $location; // <------------- added this
//$Location = $_POST['Location']; // it was erroring here as I am guessing that you were sometimes accessing the page without posting the location. If the variable does not exist, you cannot echo it.. thus the changes above
答案 4 :(得分:0)
Location
未在您显示的代码中传递。因此$_POST['Location']
未定义。把它放在你的if语句中以避免错误。
像:
$Location = 'empty';
if (isset($_POST['Location'])) {
echo $_POST['Location'];
$Location = $_POST['Location'];
} else {
echo 'empty';
}
答案 5 :(得分:0)
填写表格
<table align="left" width="30%" border="0" >
<form action="company_edit_php.php" method="post">
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>"/><br></td></tr>
<tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>"/><br></td></tr>
<td> <input type="submit" value="Change" /></td></tr>
答案 6 :(得分:0)
从你所写的内容来看,没有任何一个名为&#34; Location&#34;在您制作的页面上,或者它在表单之外(因此不在内部......)。 因为它适用于原始源代码的网站,因此只有2个选项。
为了让你的代码能够工作,你需要1.)把字段放在&#34;位置&#34;在表格内部,如果它还没有和2.)你需要&#34;安全&#34;获取变量,即使Location为空,也不会显示错误。 我给出了两种变体的不同示例: 1.)将位置放在表单中
<form action="company_edit.php" method="post">
......
<input type="text" name="Location" id="Location>
......
</form>
2。)确保即使位置确实记录错误,也不会发生错误,.... 我甚至建议你为你想要的每个$ _POST和$ _GET变量执行以下步骤 在您的应用程序中使用,因为它减少了特定错误消息的机会 $ _GET / $ _ POST未设置相当大(尽管用于调试和查找写入错误 有错误消息很好。
if (isset($_POST['Location'])
$Location = $_POST['Location'];
else
$Location='';
另一方面,由于您通过POST提供参数,并且您没有将ID放入URL,因此ID的$ _GET将始终生成一个空的id字段(因此&#34; 1&#34;总是用作id)。为了使它工作,你需要使用id作为post并在表单中放置一个适当的字段,否则你将不得不放弃&#34; action&#34;表单的一部分,以便id作为&#34;?id =&#34;那里的参数