Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz (php+mysql)
jareks
post 17.03.2004, 21:56:22
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.03.2004

Ostrzeżenie: (0%)
-----


Witam.

Napisalem formularz, z ktorego dane wysylane sa do bazy danych. Na jednej stronie html jest formularz (method="get") i wyniki z przed glosowania pobrane z bazy. Po wyslaniu danych formularzem, wyskakuje mi nowe okienko (action=akcja.php).

Chcialbym zrobic to inaczej. Chcialbym by po wcisnieciu "submit" cala akcja dziala sie na tej samej stronie na ktorej jest formularz (co mam wpisac w action?), z wyswietleniem wynikow (zaktualizowanych) po glosowaniu, jakas informacja typu "Oddales glos na x, dziekujemy". Jak mam to zrobic?

Z gory dziekuje.
Go to the top of the page
+Quote Post
lucek
post 17.03.2004, 22:05:14
Post #2





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 5.04.2003

Ostrzeżenie: (0%)
-----


O to kod, w ktorym w jednym pliku masz i formularz i skrypt wykonujacy formularz, a takze komunikat.
[php:1:1a3e204ba1]<?php
<?php
print'<form action="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'" method="post" >';
?>
<INPUT size=5 name="ile" VALUE="">
............................
dalsze pola formularza
<INPUT TYPE="Submit" VALUE="Wyslij" name="wstaw>
<INPUT TYPE="RESET" VALUE="Wyczy&para;ć">
</form>
<?
if (isset($wstaw))
{
$pyt = "INSERT INTO tablea VALUES (0, '$2pole', '$3pole')";
$wykonaj = @mysql_query($pyt) or die ('Wyst&plusmn;pił bł&plusmn;d: '.mysql_error() );
}
echo"<b>Wpisy zostały dodane !!!";
echo"<head><meta http-equiv="refresh" content="1;url=?go=index.php"></head>";
}
?>[/php:1:1a3e204ba1]
Go to the top of the page
+Quote Post
jareks
post 18.03.2004, 00:08:06
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.03.2004

Ostrzeżenie: (0%)
-----


Dzięki serdeczne - dokładnie o to mi chodziło smile.gif

Skoro uzyskałem pomoc raz, pójdę za ciosem...

Mianowicie, chciałem zablokować powtórne głosowanie w tej sondzie z tego samego komputera. Podejrzewam, że chodzi tu o "ciasteczka", ale szczerze mówiąc gdybym sam miał dojść do tego jak to zrobić, pewnie zejdzie mi do świąt. Co powinienem dopisać? Proszę o pomoc.

Z góry dziękuję.
Go to the top of the page
+Quote Post
jareks
post 18.03.2004, 00:34:58
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.03.2004

Ostrzeżenie: (0%)
-----


W zasadzie to mam jeszcze jedno pytanie.
Zastosowanie
[php:1:1763697fd9]<?php
echo"<head><meta http-equiv="refresh" content="1;url=?go=index.php"></head>";
?>[/php:1:1763697fd9]
powoduje, że komunikat "podziękowania za oddanie głosu" znika sad.gif
Czy da się to jakoś poprawić?
Go to the top of the page
+Quote Post
lucek
post 18.03.2004, 08:15:28
Post #5





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 5.04.2003

Ostrzeżenie: (0%)
-----


Jak chcesz aby komunikat zostawal a nie znikal to usun powyzsza linijke.
Zas jesli chcesz aby komunikat byl pokazywany np. przez 3 sekundy to pwisz tak:
Kod
content="3


Jesli chodzi o ciastka to zrob na poczatku skryptu ktory zapisuje dane do bazy
[php:1:d74cac11fd]
<?php
if(empty($_COOKIE['sonda']))
{
setcookie("sonda","1",time()+3600);

....................moj kod wrzucajacy dane do bazy

}
else
{
echo('oddałeś już swój głos');
}
?>[/php:1:d74cac11fd]
Go to the top of the page
+Quote Post
zalew
post 18.03.2004, 10:06:51
Post #6





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

Ostrzeżenie: (0%)
-----


[php:1:b30b3c2b02]<?php
<form action="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'"
method="post" >';
?>[/php:1:b30b3c2b02]
prosciej
[xml:1:b30b3c2b02]<form method="POST">[/xml:1:b30b3c2b02]


--------------------
Go to the top of the page
+Quote Post
jareks
post 18.03.2004, 14:22:11
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.03.2004

Ostrzeżenie: (0%)
-----


Kolejny problem.
Sonda ktora pisze, bedzie "wrzucona" w serwisie postawionym na nuke'u. Po zastosowaniu wskazowwk co do ciastek, wyskoczyl mi taki blad:

Warning: Cannot modify header information - headers already sent by (output started at /home/kszo/public_html/themes/yacapa2/ theme.php:4) in /home/kszo/public_html/html/pilkarz/wiosna2004_Piast.htm on line 66

w lini 66 jest:
[php:1:2cb0abd7a9]<?php setcookie("pilkarz","1",time()+7*86400);

?>[/php:1:2cb0abd7a9]

Jak rozwiazac ten problem? Pomozcie, z gory dziekuje.
Go to the top of the page
+Quote Post
kszychu
post 18.03.2004, 14:27:08
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Musisz to ustawić zanim cokolwiek wyślesz (echo, print, ...) do przeglądarki.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
jareks
post 18.03.2004, 16:40:04
Post #9





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.03.2004

Ostrzeżenie: (0%)
-----


Strona z formularzem wczytuje się w serwisie w ramce, zatem przeniesienie kodu setcookies na poczatek strony z kodem formularza nic nie dało, poza wyrzuceniem ostrzeżenia w innej linii. Nie chciałbym blokować tu ip po przez tworznie bazy ip z których już głosowano, bo to jak sądze da fatalny efekt w postaci możliwości jednorazowego głosowania z sieci. Czy muszę ciastka ustawić w onnym pliku i czy wogóle w ten sposób mogę tu postapić? Proszę o jakieś wskazówki. Z góry dziękuję.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 16:57