Статус delete.php функция - PullRequest
0 голосов
/ 01 июня 2011

У меня работает кнопка, когда я нажимаю кнопку X на моем статусе, мне требуется удалить. Php показывает мне ссылку в браузере и номер streamitem_id, как это.

Вот кнопка

echo '<a href="mysiteraw/sn-extend/theme/default/delete.php?='.$streamitem_data['streamitem_id'].'" onclick="show_confirm() alt="Delete" title="Delete" class="delete">X</a>&nbsp;&nbsp;&nbsp;&nbsp;';

И ссылку, которую он выдает

мой сайт /raw/sn-extend/theme/default/delete.php?=1516

Затем я вижу на этой странице «не могу найти комментарий». Может ли кто-нибудь помочь мне со страницей delete.php, пожалуйста?

Вот мой SQL

СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ on_streamdata (streamitem_id int (11) NOT NULL auto_increment,
streamitem_type_id int (11) NOTNULL, streamitem_creator int (11) NOT NULL, streamitem_target int (11) NOT NULL, streamitem_timestamp datetime NOT NULL, streamitem_content varchar (5000) NOT NULL,
streamitem_public int (11) NOTNULL, streamitem_interactionallowed int (11) NOT NULL по умолчанию '1',
streamitem_isgroupie int (11) NOT NULL по умолчанию '1', streamitem_viaid int (11) NOT NULL по умолчанию '0',
ПЕРВИЧНЫЙ КЛЮЧ (streamitem_id)) ДВИГАТЕЛЬ = CHISSET ПО УМОЛЧАНИЮ MyISAM = latin1 AUTO_INCREMENT = 1953;

А вот мой delete.php, который, вероятно, совершенно неверен, так как я новичок в PHP / MySql..Извините

<?php
error_reporting (E_ALL ^ E_NOTICE);

$id=$_GET['id'];
$ipuser=getenv('REMOTE_ADDR');

//Connect to server and select databse.
mysql_connect("localhost", "", "")or die("cannot connect to server"); 
mysql_select_db("")or die("cannot select DB");;
$querycheck="SELECT streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";
$resultcheck=mysql_query($querycheck);
$num=mysql_numrows($resultcheck);
if ($num==0) {
?>
<br>Comment not found.<br>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
} else {
$ip=mysql_result($resultcheck,0,"streamitem_id");
if ($ip==$ipuser) {

?>
<form method="post">
<p align="center">
Are you sure you want to delete this comment?
<input type="hidden" name="confirm" value="1">
<br>
<input type="Submit" value="Delete">
</form>
<?
$confirm=$_POST['confirm'];

if ($confirm==1) {


$query=" DELETE streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";
mysql_query($query);
echo "<br>Comment Deleted.<br>";

?>
<br><br>
<a href="javascript: history.go(-2)">Back</a><br>
<?
} else {

?>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
}

} else {
?>
<br>You are not allowed to delete this comment.<br>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
}
}
mysql_close();

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

Хорошо, сначала вы не передаете переменную через строку запроса URL

echo '<a href="mysiteraw/sn-extend/theme/default/delete.php?PUT_SOME_NAME_HERE='.$streamitem_data['streamitem_id'].'" onclick="show_confirm() alt="Delete" title="Delete" class="delete">X</a>&nbsp;&nbsp;&nbsp;&nbsp;';

Подсказка: на следующей странице вы ищете $_GET['id'], поэтому я предполагаю, что вы должны поставить id вместо PUT_SOME_NAME_HERE в приведенном выше примере:)

Попробуйте и поделитесь результатами.

В вашем примере кода также отсутствует выбор базы данных и передача mysql user / password. Вы удаляете их специально, чтобы не показывать здесь конфиденциальную информацию?

0 голосов
/ 01 июня 2011

$querycheck="SELECT streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";

Ваше имя таблицы на самом деле on_groups_streamdata

также вам необходимо санировать и проверять введенные данные или использовать PDO

...