我的动态数据库运行良好。
我的登录系统运行良好。
有那些“欢迎用户”链接。
“用户”是指向用户在数据库中拥有的所有内容的链接。当用户想要更改内容时,只需单击“用户”。你得到表格 ChangeStuff.php
除了其他好东西,我还有这个
<form action="IamStuck.php">
<li> Property ID: <?php print $row['P_ID'] ?> <?php $P_ID = $row['P_ID']; $_SESSION['P_ID'] = $P_ID ?><input name="edit" type="submit" value="edit" /><br /><br />
   Address: <?php print $row['address']?>, <?php print $row['city'] ; ?>
</li>
</form>
这基本上会产生这样的东西:
编辑列表
您想更新您的列表吗?
物业 ID:14 (提交按钮在此处)
地址:1845 Oak Park Blvd,普莱森顿山
物业 ID:16 (提交按钮在此处)
地址:埃默里维尔 3111 Adeline Ave
然后在 IamStuck.php 上,我有一个完整的表单 (html+php),它可以提取数据库上的所有信息并允许用户更新信息(查询很好并且工作得很好):
<?php session_start();
.....
$P_ID = $_SESSION ['P_ID'];
if(isset($_POST['Submit'])){//if the submit button is clicked
$day = $_POST['day'];
$address = $_POST['address'];
etc
etc.
$update = "UPDATE property
SET day='$day', city='$city', state='$state', address='$address', price = $price, sq_ft = $sq_ft, lot_sq_ft = $lot_sq_ft,zip_code = $zip_code, bedroom = $bedroom, bathroom = $bathroom, partial_bath = $partial_bath, sunday_info = '$sunday_info',
web = '$web', broker_info='$broker_info', map_info='$map_info', youtube = '$youtube'
WHERE P_ID = ".$P_ID;
$db->query($update) or die("Cannot update");//update or error
问题是从 ChangeStuff.php 中获取正确的 P_ID
我用锚链接和 post/get 尝试了这个,效果很好,除了 P_ID 会进入 URL,你可以更改 id 并更改其他人的数据库信息:O
不好。
回到会议。只要您想更改数组的最后一个值,它就可以很好地工作:)
如果您想更改属性 14(如示例中所示),您将无法 :( 仅提取最后一个地址(这仍然是您在 DB 中的信息 - 但不是应该更新的信息。
不好。
在蓝色星球有没有人可以提供一些想法?
全面披露:我对 PHP、MYSQL、Javascript CSS 这些东西很陌生,我在过去几个月里一直在学习这些很棒的东西:/
感谢您的时间。
PS。正如您可能已经发现的那样,数组是动态的,会因人而异,甚至从今天到下个月的同一个人。
编辑
基于@Just Wood 下面的评论之一,我回到了我原来的 Post/Get 方法。changeStuff.php 是这样的:
<form action="IamLessStuck.php" method="post">
<li> <a href="IamLessStuck.php?P_ID=<?php echo $row['P_ID']; ?>">Property ID: <?php print $row['P_ID'] ?> </a><br /><br />
   Address: <?php print $row['address']?>, <?php print $row['city'] ; ?>
</li>
</form>
IamLessStuck.php 是这样的(只是 WHERE 改变了):
$update = "UPDATE property
SET day='$day', city='$city', state='$state', address='$address', price = $price, sq_ft = $sq_ft, lot_sq_ft = $lot_sq_ft,zip_code = $zip_code, bedroom = $bedroom, bathroom = $bathroom, partial_bath = $partial_bath, sunday_info = '$sunday_info',
web = '$web', broker_info='$broker_info', map_info='$map_info', youtube = '$youtube'
WHERE P_ID = ".$P_ID." and
username = '".(htmlentities($_SESSION['user']['username']))."'";
$db->query($update) or die("Cannot update");//update or error
谢谢你。有用。我还更改了查询 SELECT *.... 的代码/查询以在编辑发生之前获取所有值,并添加了相同的 WHERE 子句(id=$_post id 和 user = session[user])。现在一个人只能看到和改变他/她唯一的东西。谢谢你。