Article View: pl.comp.lang.php
Article #219884Re: AMP - krótki, oczywisty skrypcik - czemu nie działa!?
From: Lemat
Date: Mon, 27 Jul 2009 13:09
Date: Mon, 27 Jul 2009 13:09
61 lines
3079 bytes
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-mailReferences:
<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