What's new

Paano lagyan code ng delete

loktoy

Eternal Poster
Joined
Oct 20, 2014
Posts
1,168
Solutions
2
Reaction
103
Points
497
Age
30
nais ko sana na bilang admin gusto ko na kapag di kaaya aya yun post nya idedelet ko bilang admin..

ito code ko sa dashboard.php
<?php
$sql = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post inner join registration on registration.user_id = post.user_id order by date_created DESC") or die (mysqli_error());
while($post_row = mysqli_fetch_array($sql,)){
$id_user = $post_row['username'];
$id_comment = $post_row ['comment_id'];
?>


<div class="comet" >
<div><h6>&nbsp &nbsp<i class="fa fa-id-card-o">&nbsp</i><?php echo $id_user;?>&nbsp &nbsp <i class="icon1 fa fa-hand-o-right" ></i> &nbsp &nbsp <a href="posting.php?id=<?php echo $id_comment;?>"><?php echo $post_row['title']; ?></a>

<br>
<div class="date-time">&nbsp &nbsp
<?php
$days = floor($post_row['TimeSpent'] / (60 * 60 * 24));
$remainder = $post_row['TimeSpent'] % (60 * 60 * 24);
$hours = floor($remainder / (60 * 60));
$remainder = $remainder % (60 * 60);
$minutes = floor($remainder / 60);
$seconds = $remainder % 60;
if($days > 0)
echo date('F d, Y - H:i:sa', $post_row['date_created']);
elseif($days == 0 && $hours == 0 && $minutes == 0)
echo "A few seconds ago";
elseif($days == 0 && $hours == 0)
echo $minutes.' minutes ago';
elseif($days == 0)
echo $days.' day ago';
?>

<img src="../img/hour.png" alt= "hour logo" style = "width:10px";>

<a href= 'commentdelete.php?comment_id<?php $id_comment ?>'>Delete</a>

</h6></div>
</div>


<?php }?>

ito din code ko sa commentdelete.php

<?php
include '../config/config.php';
$id_comment = $_REQUEST['comment_id'];
$sql_delete = mysqli_query($con, "SELECT * FROM post where comment_id = '$id_comment'");
?>
 
Mayroon kang ilang isyu sa iyong code na nagdudulot ng hindi tamang pag-andar ng iyong delete functionality. Narito ang ilang mga problema na nakita ko sa iyong code:

1. Sa dashboard.php, mayroon kang maliit na error sa paglalagay ng URL parameter sa link ng delete:
PHP:
<a href= 'commentdelete.php?comment_id<?php $id_comment ?>'>Delete</a>
Dapat ay idagdag mo ang simbolo ng igual (=) bago ang $id_comment variable para maipasa ito:
PHP:
<a href= 'commentdelete.php?comment_id=<?php echo $id_comment ?>'>Delete</a>

2. Sa commentdelete.php, wala kang ginagawang query para idelete ang partikular na post/comment na may kaugnayan sa $id_comment. Dapat idagdag mo ang query na ito bago mo idelete ang post/comment:
PHP:
$sql_delete = mysqli_query($con, "DELETE FROM post WHERE comment_id = '$id_comment'");

3. Dapat din suriin mo ang tamang paggamit ng $_REQUEST['comment_id'] sa ibang mga bahagi ng iyong code. Siguraduhin na ang parameter na ito ay nasa tamang format at tama ang paggamit nito.

4. Mayroon kang isang missing closing parenthesis sa line na ito sa dashboard.php:
PHP:
while($post_row = mysqli_fetch_array($sql,)){
Dapat ay maging ganito ito:
PHP:
while($post_row = mysqli_fetch_array($sql)){

5. Sa line na ito sa dashboard.php, ang variable na $post_row ['comment_id'] ay dapat $post_row['comment_id']:
PHP:
$id_comment = $post_row ['comment_id'];

6. Siguraduhin na mayroon kang tamang error handling para sa mga query errors tulad ng paggamit ng mysqli_error(). Maaari mong idagdag ito sa iyong code upang makita ang mga error message sa paggawa ng query:
PHP:
$sql = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post inner join registration on registration.user_id = post.user_id order by date_created DESC") or die(mysqli_error($con));

Tandaan na dapat kang mag-ingat sa paglalagay ng mga post/comment delete functionality. Dapat kang magkaroon ng tamang security measures tulad ng pag-verify ng user's credentials o pag-check kung sila ay mayroong admin privileges bago pahintulutan ang pag-delete ng post/comment.
 

Similar threads

Back
Top