Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [html] formularz nie wysyła danych
jarekj8
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


Witam!

tak wygląda formularz:

index.php
  1. <form method="GET">
  2. <input id=1 type=radio name=glos value="1">>Super!<br>
  3. <input id=2 type=radio name=glos value="2">Fajny, ale widziałem lepsze<br>
  4. <input id=3 type=radio name=glos value="3">Może być<br>
  5. <input id=4 type=radio name=glos value="4"> był lepszy<br>
  6. <input id=5 type=radio name=glos value="5">Totalne dno<br>
  7. <input id=6 type=radio name=glos value="6">Hę??<br>
  8. <input type="hidden" name="dzial" value="sonda1">
  9. <input type="submit" value="glosuj">
  10. </form>

Problem:
gdy zaznaczę którąś z opcji i kliknę głosuj to tak, jakbym nacisnął odśwież (adres strony się nie zmienia)

natomiast gdy kliknę głosuj bez zaznaczania to przenosi mnie do działu sonda1 (czyli działa dobrze)

Gdzie popełniłem błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


U mnie ten kod działa, sprawdałem na Operze, IE a także na Fx, zmienia się adres np. ?glos=6&dzial=sonda1. Mimo to pozwoliłem sobie i tak poprawić ten kod i uzupełnić o "ciapki" ...
  1. <form method="GET">
  2. <input id="1" type="radio" name="glos" value="1">Super!<br >
  3. <input id="2" type="radio" name="glos" value="2">Fajny, ale widziałem lepsze<br>
  4. <input id="3" type="radio" name="glos" value="3">Może być<br>
  5. <input id="4" type="radio" name="glos" value="4"> był lepszy<br>
  6. <input id="5" type="radio" name="glos" value="5">Totalne dno<br>
  7. <input id="6" type="radio" name="glos" value="6">Hę??<br>
  8. <input type="hidden" name="dzial" value="sonda1">
  9. <input type="submit" value="glosuj">
  10. </form>


--------------------
Go to the top of the page
+Quote Post
jarekj8
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


u mnie nie działa na Firefoxie i IE (Opery nie mam aktualnie zainstalowanej), co ciekawe wszystkie inne formularze na innych stronach działają bez zarzutu.

sonda jest tutaj

Ten post edytował jarekj8 1.02.2007, 09:55:10
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #4





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


A mi się wydaje że nie wskazujesz mu gdzie ma te dane tym get'em wysłać.
A dokładniej niema action="".
Go to the top of the page
+Quote Post
jarekj8
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


dodanie action="index.php" nic nie zmienia.
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #6





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


A napisz jak chcesz wysłać te informacje?

Bo rozumiem jak byś to chciał POST'em puścić w ten sposób dając action po prostu na index.php

http://php.net.pl/manual/pl/language.varia....predefined.php
Go to the top of the page
+Quote Post
jarekj8
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


przecież pisze w formuarzu method="GET"
Go to the top of the page
+Quote Post
maryaan
post
Post #8





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


na poczatku index.php (czy innego pliku doktorego wysylasz te dane) dodaj linijke :
  1. <?php
  2. var_dump($_GET)
  3. ?>


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #9





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Boshe poczytaj ten manual.

Aby wysłać postem wystarczy wybrać metode i nadać wartości.

Przy gecie przesyłasz informacje z adresem czyli
  1. <?php
  2. action="index.php?1wartosc=wartpsc_1&2wartpsc=wartosc"
  3. ?>


Ten post edytował Wykrywacz 2.02.2007, 12:06:35
Go to the top of the page
+Quote Post
Ziels
post
Post #10





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Echz... jak nic nie jest zaznaczone to jasne że się nie wysyła...
Go to the top of the page
+Quote Post
jarekj8
post
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


Cytat(Ziels @ 2.02.2007, 11:52:05 ) *
Echz... jak nic nie jest zaznaczone to jasne że się nie wysyła...

czytaj ze zrozumieniem: jak zaznaczę to nie wysyła, a jak nie zaznaczę to działa dobrze
Go to the top of the page
+Quote Post
Amorph
post
Post #12





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


@wykrywacz:
  1. <?phpaction="index.php?1wartosc=wartpsc_1&2wartpsc=wartosc"?>

Jak rozumiem chcesz aby html dynamicznie podczas przełączania radiobuttona przypisał wartość do zmiennych !??!?!
Jak chcesz aby to html robił ?

Moim zdaniem sondę robić przez metodę get jest poronione. Każdy może skopiować sobie adres do schowka i w łatwy sposób wywoływać kilkakrotnie wygenerowany adres... Pomyśl nad użyciem metody POST.

Ten post edytował Amorph 2.02.2007, 13:42:10
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #13





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Amorph
Słuszna uwaga ale jak chcesz przekazać wartości i zapisać je w czym kolwiek używając html'a ?
Jeżeli wiesz jak to powiedz chętnie się nauczę smile.gif.

Stąd napisałem, o tym aby posłać to w ten sposób, już pomijając że pełną rację masz że powinno iść to POST'em
Go to the top of the page
+Quote Post
Amorph
post
Post #14





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


Cytat
Słuszna uwaga ale jak chcesz przekazać wartości i zapisać je w czym kolwiek używając html'a ?

Nie pisałem o zapisywaniu przez html a o przypisywaniu.
A jak przypisywać... Pola w formularzach przyjmują jakeś wartości.... czyli są przypisywane.

A co do tematu...
@jarekj8:
W którym miejscu odczytujesz przesłane dane?questionmark.gif
$_GET[''] questionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
jarekj8
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


odczytywanie danych jest w innym pliku... ale to bym musiał wam cały kod wysłać

mi nie chodzi o samo to że nie odczytuje danych tylko o to że ich nie wysyła (nie ma ich w adresie)...

co do wielokrotnego głosowania to mam to zabezpieczone skryptem
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #16





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


To pokaż fragment odpowiedzialny już za samo wysłanie, tego Geta
Go to the top of the page
+Quote Post
jarekj8
post
Post #17





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.01.2007

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


wysyłanie? to formularz wysyła, chyba chodziło ci o odbieranie... wyślę wszystko:

index.php:
  1. <?php
  2. if($_GET[dzial]) {
  3. $dzial = $_GET[dzial];
  4. } else {
  5. $dzial = "start";
  6. }
  7.  
  8. if($dzial=="sonda1") require("skrypty/sonda1/cookie1.php");
  9.  
  10. include("dzialy/$dzial.php");
  11.  
  12. //formularz troche pozmienialem:
  13. <form action="index.php" name="sonda" method="GET">
  14. <font face="Verdana" size="1">
  15. <center><b>Jak oceniasz nowy design (wygl&#261;d) strony??</b></center><br>
  16. <div align="left">
  17. <input id=1 type=radio name=glos value="1"><label for=1>Super!</label><br>
  18. <input id=2 type=radio name=glos value="2"><label for=2>Fajny, ale widzia&#322;em lepsze</label><br>
  19. <input id=3 type=radio name=glos value="3"><label for=3>Mo&#380;e być</label><br>
  20. <input id=4 type=radio name=glos value="4"><label for=4><!--<a href="http://stronaklasy2c.fasthost.pl/">Poprzedni</a>--> by&#322; lepszy</label><br>
  21. <input id=5 type=radio name=glos value="5"><label for=5>Totalne dno</label><br>
  22. <input id=6 type=radio name=glos value="6"><label for=6>H&#281;??</label></div><br>
  23. <input type="hidden" name="dzial" value="sonda1">
  24. <center><input type="image" src="images/button1.png"></center>
  25. </font>
  26. </form>
  27. ?>


cookie1.php:
  1. <?php
  2. //Ankieta na stronie WWW - czesc obslugujaca glosowanie
  3. $glosowanie1 = array ('6' => 'Super!', '5' => 'Fajny, ale widziałem lepsze',
  4.  '4' => 'Może być', '3' => 'Poprzedni był lepszy',
  5.  '2' => 'Totalne dno', '1' => 'Hę??');
  6. function glosowanie1 ($glosowanie1, $sonda1) {
  7. // funkcja zapamiętuje wynik głosowania danej osoby
  8. setcookie ('glosowano1', "1", time()+3600*24*7); // pamiętamy, że już głosowano
  9. if (file_exists("skrypty/sonda1/glosowanie1.txt")) { // jest plik z głosowaniem
  10. $plik1 = fopen ("glosowanie1.txt", "r+");
  11. flock ($plik1, 2);
  12. $wiersz1 = fgets ($plik1, 255);
  13. $wyniki1 = split ("|", $wiersz1);
  14. fseek ($plik1, 0);
  15. } else {  // nie ma pliku, więc go tworzymy
  16. $plik1 = fopen ("skrypty/sonda1/glosowanie1.txt", "w+");
  17. flock ($plik1, 2);
  18. }
  19.  
  20. for ($i=0; $i<count($glosowanie1);$i++) { // aktualizacja wyników
  21. if ($sonda1 == $i+1) { $wyniki1[$i]++; }
  22. fputs ($plik1, $wyniki1[$i]);
  23. if ($i<count($glosowanie1)-1) {fputs ($plik1, '|'); }
  24. }
  25. flock ($plik1, 3);
  26. fclose ($plik1);
  27. }
  28.  
  29.  
  30. if ($_GET['glos'] && $_COOKIE['glosowano1']) {  // oddano głos - aktualizacja danych i przekierowanie
  31. glosowanie1 ($glosowanie1, $_GET['glos']);
  32.  
  33. // "odkomentuj" jeden z poniższych nagłówków
  34.  
  35. // jeżeli używasz w HTML przez SSI lub w innym php przez require:
  36. header ("Location: ".$_SERVER["HTTP_REFERER"]);
  37.  
  38. // jeżeli chcesz używać samodzielnie:
  39. // header ("Location: http://".$GLOBALS["SERVER_NAME"].
  40. //  $GLOBALS["REDIRECT_URL"]);
  41. die();
  42. }
  43. ?>


sonda1.php:
  1. <? 
  2. if (file_exists("skrypty/sonda1/glosowanie1.txt")) {
  3. $plik1 = fopen ("skrypty/sonda1/glosowanie1.txt", "r");
  4. $wiersz1 = fgets ($plik1, 255);
  5. fclose ($plik1);
  6. $wyniki1 = split ("|", $wiersz1);
  7. for ($i=0; $i<count($wyniki1); $i++) { $liczbaglosow1 += $wyniki1[$i]; } 
  8. }
  9. print '<font face="Verdana" size="2"><center><P><b>Jak oceniasz nowy design (wygląd) strony??</b></P></center></font><font face="Verdana" size="1"><TABLE width="344" border="0" cellpadding="0" cellspacing="5">';
  10. for (reset ($glosowanie1); $klucz1=key($glosowanie1); next ($glosowanie1)) {
  11. print "<TR><TD width="150">".pos($glosowanie1).": </TD><TD width="150">";
  12. if ($liczbaglosow1 == 0) {
  13. $procent1 = 0; // aby uniknąć dzielenia przez zero!
  14. } else {
  15. $procent1 = ($wyniki1[$klucz1-1]/$liczbaglosow1)*100;
  16. }
  17. print "<IMG SRC="obrazki/pasek.gif" WIDTH=" . ($procent1*1.5+1) . " HEIGHT="10"></TD>";
  18. print "<TD ALIGN=RIGHT> ";
  19. printf ("%0.0f", $procent1);
  20. print "%</TD></TR>";
  21. }
  22. print "<TR><TD ALIGN=left colspan=3>Łączna ilość oddanych głosów: <b>$liczbaglosow1</b>";
  23. print "</TD></TR>";
  24. print "</TABLE></font>";
  25. ?>


Ten post edytował jarekj8 3.02.2007, 10:49:44
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 Aktualny czas: 21.08.2025 - 04:30