【问题标题】:PHP struggles. Error 404PHP 挣扎。错误 404
【发布时间】:2018-02-05 03:40:06
【问题描述】:

试图制作一个粗略的功能/联系人列表。用户登录后被带到此页面:

通过单击编辑功能,我希望将用户带到允许他们编辑联系方式的页面。目前正在努力使链接功能正常。

链接照片是我的 /view 文件。看起来像这样:

<?php 

session_start();

if(isset($_SESSION['u_uid'])){

$uid = $_SESSION['u_id'];

require_once('connect.php');
$ReadSql = "SELECT * FROM `contact` WHERE users_id=$uid ORDER BY Name";
$res = mysqli_query($connection, $ReadSql);

?>

<head>
<title>Motoko</title>
    <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

 <!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
</script>
</head>
<body> 
<div class="container">
    <div class="row">
    <table class="table">
        <tr>

            <th><strong>Name</strong></th>
            <th><strong>Company</strong></th>
            <th><strong>Title</strong></th>
            <th><strong>Phone</strong></th>
            <th><strong>Email</strong></th>
            <th><strong>Address</strong></th>
            <th><strong>Extras</strong></th>
        </tr>
        <?php 
        while($r = mysqli_fetch_assoc($res)){
        ?>
        <tr> 
            <td><?php echo $r['Name']; ?></td> 
            <td><?php echo $r['Company']; ?></td> 
            <td><?php echo $r['Title']; ?></td> 
            <td><?php echo $r['Phone']; ?></td> 
            <td><?php echo $r['Email']; ?></td> 
            <td><?php echo $r['Address']; ?></td> 
            <td><a href="crud/update.php?id=<?php echo $r['id'] ?>">Edit</a></td>
            <td><input type="button" onClick="deleteme(<?php echo $r['u_uid']; ?>)" name="Delete" value="Delete"></td>
             </tr>
 <!-- Javascript function for deleting data -->
 <script language="Javascript">
 function deleteme(delid)
 {
 if(confirm("Are you sure you want to Delete?")){
 window.location.href='crud/delete.php';
 }
 } 
 </script>
        <?php } ?>
    </table>
</div>
</body>

</html>

<?php

}else{

header("Location: http://motoko.sorainsurance.com.au"); 

}

?>

这会将它们带到 /update 文件。开头是:

 <?php
 error_reporting();
 require_once('connect.php');
   $id = $_GET['id'];
   $SelSql = "SELECT * FROM `contact` WHERE id=$id";
   $res = mysqli_query($connection, $SelSql);
   $r = mysqli_fetch_assoc($res);

  if(isset($_POST) & !empty($_POST)){
    $name =  mysqli_real_escape_string($connection,$_POST['name']);
    $comp =  mysqli_real_escape_string($connection,$_POST['comp']);
    $title =  mysqli_real_escape_string($connection,$_POST['title']);
    $phone =  mysqli_real_escape_string($connection,$_POST['urstel']);
    $email =  mysqli_real_escape_string($connection,$_POST['email']);
    $location =  mysqli_real_escape_string($connection,$_POST['location']);


  $UpdateSql = "UPDATE `contact` SET Name='$name', Company='$comp', 
Title='$title', Phone='$phone', Email='$email', Address='$location' WHERE id=$id"; 

    $res = mysqli_query($connection, $UpdateSql);
   if($res){
     echo $smsg = "Successfully updated data.";
     echo  header('location: view.php');
   }else{
     echo $fmsg = "Failed to update data.";
    }
}

知道为什么错误不断弹出吗?如此困惑和努力进步:(

非常感谢!

【问题讨论】:

  • 抱歉,每当出现 404 错误时,您可以在浏览器中发布链接吗?
  • 404 表示该页面不存在。我猜您在名为crud 的文件夹中没有名为delete.php 的文件。除此之外,您的脚本容易受到SQL injection 的攻击,您的括号不会与您的if 条件对齐,并且在调用@ 之前您也不能将any 输出到DOM 987654330@(它本身不应该有echo)。

标签: php mysql error-handling edit crud


【解决方案1】:

404错误码表示,你的请求不正确URL

这会将它们带到 /update 文件

您提到,请求将转到update 文件,但您的请求URLcrud/update.php

现在,请求URL 取决于文件的相对性。那么,您查看的文件是否存在于根文件夹和crud 文件夹下的update.php

==已编辑==

(参考您的最新评论)您的update.phpview.php 似乎存在于同一个文件夹中,那么您应该简单地更改请求

crud/update.php

update.php

您无需在请求中提及文件夹路径。

【讨论】:

  • 我所有的文件,也就是delete、view、update都在crud文件夹下。
  • @kerrysun 我已经更新了我的帖子。您也可以更新您的代码。
  • 如果我能再刺你的大脑一秒钟。我现在可以更新联系人了。但它出现了 --> 警告:无法修改标头信息 - 标头已由 /home/sorainsurance1/public_html/motoko/ 中的 /home/sorainsurance1/public_html/motoko/crud/update.php:1 发送的标头(输出开始于 /home/sorainsurance1/public_html/motoko/ crud/update.php 在第 23 行
  • @kerrysun 你在操纵标题,有很多关于此的现有帖子。你可以一一尝试。一切顺利:-)
猜你喜欢
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 2023-04-06
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多