我只是在我的edit_mision_vision.php中添加了那些未定义索引的名称。我已经更新了我的代码,它现在可以工作了。感谢您的帮助:)
update_mission_vision.php//更新发生的位置以及通知显示的位置(但现在已修复),说明愿景、使命和价值观未定义
<?php
$conn=mysql_connect("localhost", "root");
mysql_select_db("alumni", $conn);
if (! $conn)
{
DIE('Could not connect: ' . mysql_error());
}
if(isset($_POST['update']))
{
$vision = $_POST['vision'];
$mission = $_POST['mission'];
$values = $_POST['values'];
$query="UPDATE about SET description='$vision' WHERE title='Vision'";
$retval = mysql_query( $query, $conn );
$query1="UPDATE about SET description='$mission' WHERE title='Mission'";
$retval = mysql_query( $query1, $conn );
$query2="UPDATE about SET description='$values' WHERE title='Values'";
$retval = mysql_query( $query2, $conn );
if(! $retval ) {
DIE('Could not enter data: ' . mysql_error());
}else{
echo "<script type='text/javascript'>alert('Changes saved!!');
window.location.assign('/alumni/mission_vision.php');</script>";
}
}
if (isset($_POST['cancel']))
{
header("Location: /alumni/admin_profile.php");
}
mysql_close($conn);
?>
edit_mission_vision.php我编辑使命、愿景和价值观描述的地方//这是我添加 name="vision"、name="mission"、name="values"的地方,这解决了我的问题。
<form action="/alumni/admin/update_mission_vision.php" method="post">
<?php
include_once 'db.php';
$sql="SELECT * FROM about";
$result_set=mysql_query($sql);
while($row=mysql_fetch_array($result_set))
{
?>
<?php if($row['title']=='Vision') { ?>
<label>Vision</labrl><br><br>
<textarea id="vision" name="vision" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php if($row['title']=='Mission') { ?>
<label>Mision</label><br><br>
<textarea id="mission" name="mission" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php if($row['title']=='Values') { ?>
<label>Values</label><br><br>
<textarea id="values" name="values" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php
}
?>
<input type="submit" name="update" value="Save Changes"/>
<input type="submit" name="cancel" value="Cancel"/>
</form>
将此
代码替换为"edit_mission_vision.php"文件
<form action="/alumni/admin/update_mission_vision.php" method="post">
<?php
include_once 'db.php';
$sql="SELECT * FROM about";
$result_set=mysql_query($sql);
while($row=mysql_fetch_array($result_set))
{
?>
<?php if($row['title']=='Vision') { ?>
<label>Vision</labrl><br><br>
<textarea name="vision" id="vision" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php if($row['title']=='Mission') { ?>
<label>Mision</label><br><br>
<textarea name="mission" id="mission" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php if($row['title']=='Values') { ?>
<label>Values</label><br><br>
<textarea name="values" id="values" maxlength="1000" height="1000000px" rows="10" cols="100"><?php echo $row['description']; ?></textarea>
<br><br>
<?php } ?>
<?php
}
?>
<input type="submit" name="update" value="Save Changes"/>
<input type="submit" name="cancel" value="Cancel"/>
</form>
如果您在所有三条记录中获得相同的值,则需要创建数组,然后通过 while 循环更新查询中的数组。并在文本区域的名称属性后添加"[]"。希望会有所帮助。
1)您需要在所有文本区域中定义名称。
2) 为什么需要三个查询才能更新单个字段?
试试这个查询:
update `about` set `description` =
case
when title='Vision' then '$vision'
when title='Mission' then '$mission'
when title='Values' then '$values'
end
旁注:停止使用
mysql_*
。它不再可用。用mysqli_*
或PDO
.