🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #219884

Re: AMP - krótki, oczywisty skrypcik - czemu nie działa!?

#219884
From: Lemat
Date: Mon, 27 Jul 2009 13:09
61 lines
3079 bytes
Maciek - Wally wrote:

> Witam!
> 
> Zacznę od tego, że cały komplet Apache, MySQL i PHP w najnowszych
> wersjach, zainstalowany lokalnie.
> 
> 
> 
> Mam taki oto krótki skrypcik:
> 
> 
> 
> if (isset($_REQUEST['comment_id']) and $_REQUEST['comment_id'])
> {
>      $sql1 = "SELECT entry_id FROM comments WHERE id=" .
> $_REQUEST['comment_id'];
>      $result1 = mysql_query($sql1);
>      $row1 = mysql_fetch_array($result1);
>      $link = "viewentry.php?entry_id=" . $row1['entry_id'] . "#comments";
> 
>      $sql = "DELETE FROM comments WHERE id=" . $_REQUEST['comment_id'];
>      $result = mysql_query($sql);
> 
>      redirect($link);
> }
> 
> 
> 
> 
> Ma on służyć do kasowania komentarzy o podanym ID (comment_id). Najpierw
> (jak widać ;) pobieram ID artykułu do którego odnosi się dany komentarz
> (entry_id) i na jego podstawie tworzę URL do tego artykułu, kasuję
> komentarz i wracam do artykułu do którego ten komentarz się odnosił
> (funkcja redirect() przekierowuje na dany URL).
> 
> A teraz - co nie działa? Zaznaczam, że jest to co najmniej dziwne,
> dlatego właśnie piszę na grupę. Otóż w jakiś niewiadomy sposób
> $row1['entry_id'] jest zawsze puste, przez co URL jest nieprawidłowy.
> Według mnie, nie powinno tak być, gdyż pobieram tę wartość przed
> skasowaniem zawierającego ją rekordu. Oczywiście wszystkie wartości na
> których chcę operować mają prawidłowe nazwy i istnieją w bazie
> (sprawdzane phpMyAdmin'em). Zachowanie to jest dla mnie tym bardziej
> dziwne, gdyż po zakomentowaniu linijek kasujących komentarz:
> 
> $sql = "DELETE FROM comments WHERE id=" . $_REQUEST['comment_id'];
> $result = mysql_query($sql);
> 
> Wszystko działa! Wygląda to na to, że skasowanie rekordu wpływa na
> wcześniej pobrane z niego i podstawione do zmiennych wartości :/
> 
> Z góry dziękuję za pomoc w rozwiązaniu problemu i przepraszam, jeżeli
> popełniłem jakiś trywialny błąd...
> 

zastanów się co się będzie działo jak powyższy fragment wykonasz dwa razy w 
będziesz myślał, że wykonujesz go tylko raz.

-- 
Pozdrawiam
Lemat
Technical Details
Message-ID: <h4k9g4$hlp$1@nemesis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <h4k8l8$gqv$1@nemesis.news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Lemat <#@lemat.priv.pl>
Newsgroups: pl.comp.lang.php
Subject: Re: AMP - krótki, oczywisty skrypcik - czemu nie
 działa!?
Followup-To: pl.comp.lang.php
Date: Mon, 27 Jul 2009 15:09:30 +0200
Organization: lemat.priv.pl
Lines: 63
Message-ID: <h4k9g4$hlp$1@nemesis.news.neostrada.pl>
References: <h4k8l8$gqv$1@nemesis.news.neostrada.pl>
NNTP-Posting-Host: quad.lemat.priv.pl
Mime-Version: 1.0
X-Trace: nemesis.news.neostrada.pl 1248700740 18105 79.190.106.116 (27 Jul 2009 13:19:00 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Mon, 27 Jul 2009 13:19:00 +0000 (UTC)
User-Agent: KNode/0.99.01
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit