Wykrycie akcji na pasku

0

Witam,
mam plik add_news.phtml a w nim:

<div class="content">
<form action="add_news.phtml?action=add" method="post">
<p>Enter your news topic:</p>
<input type="text" name="topic" placeholder="topic"/>
<p>Enter your news</p>
<textarea type="text" name="news" placeholder="news"></textarea>
<p><button type="submit" name="submit-news">Add news</button></p>
</form>
</div>

Chciałbym teraz przesłać formularz tylko gdy zostanie "wychwycony" link ?action=add. Jak takie coś zrobić? Widziałem na kilku stronach podobne działanie. Nawet na tym forum jest tak:

Newbie

Próbuję coś w ten deseń ale nie bardzo mi to wychodzi:

<?php
if (isset ($_GET['action']) && $_GET['action'] == 'add') {
	echo 'yes';
	}else{
	echo 'no';
}
?>

Może ktoś coś poradzić?

0

W PHP napisałem tylko kilka prostych skryptów na swoje potrzeby, więc mogę się mylić. Ale Ty chyba nie wiesz czym się różni POST od GET. I tutaj pewnie ktoś doradzi Tobie coś lepszego, ale być może - z tego co ja googlowałem - można posiłkować się tym, co zwróci Ci $_SERVER['HTTP_REFERER'].

0

Wiem czym się różni zmienna POST od GET tylko nie wiem czy dobrze to rozumuję na potrzeby tego skryptu.
Chcę aby po kliknięciu na formularz wykonała się akcja: action=add.

0

To zrób sobie gdzieś w kodzie PHP, który chcesz wywołać print_r($_GET); i wszystko będzie jasne, dlaczego skrypt zwraca nie to czego się spodziewasz. Jednak twierdzisz, ze znasz różnicę między GET, a POST no to ok. Chociaż po Twoim wątku tego nie widać. Przynajmniej dla mnie. Poza tym zauważ sobie narzędziami inspekcyjnymi przeglądarek www lub jakimś snifferem co się dzieje gdy odwiedzaz stronę adresem do tworzenia na przykład tutaj nowej odpowiedzi. A co się dzieje w przypadku gdy klikasz na "Wyślij".

Nie problem sprawdzić prawidłowość danych oczekiwanych przy metodzie POST i w zależności od tego przygotować zwracaną treść. Ale najlepiej to Tobie gdy będzie na forum podpowie @dzek69. Bo trzeba się na coś według mnie zdecydować. Ale możliwe że poza sprawdzeniem Referera są metody do obsługi naraz obu metod. Chociaż jeśli znam się na podstawach działania typowych serwerów www, to raczej rozgranicza się te metody.

0

Nie rozumiem, przecież wysłanie formularza będzie możliwe tylko po kliknięciu w przycisk, po co chcesz sprawdzać wartość geta?

Sprawdzaj wartość posta po stronie serwera, jeśli odpowiada wartościom nazw pól z formularza i są niepuste, wtedy wykonaj konkretne akcje.

A to, co przytaczasz za przykład z tym Newbie, to tam jest na pewno bardziej zaawansowana operacja wykonywana z użyciem .htaccess i RewriteMod, także nie patrz na to.

0

Zmień rozszerzenie pliku na *.php i będzie działać xDDD I Nie zapomnij zmienic rozszerzenia w formularzu :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1