![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jestem dosc poczatkujacym programista w php i html wiec prosze o wyrozumialosc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Mam problem z przekazaniem zmiennej ktora jest zlozona z kilku wyrazow oddzielonych spacjami. Przy przekazywaniu ich jako input type='hidden' uzywam funkcji urlencode i wszystko dziala. Przy formularzach gdzie wpisuje wartosci w pola input type='text' bez kodowania przekazuje te zmienne dobrze (ze spacjami). Ale mam problem z nastepujacym kodem: [php:1:2c2c6bf3a5]<?php <FORM ACTION='dodaj_sprzedaz.php' METHOD='POST'> <TABLE BORDER=3 ALIGN=CENTER BGCOLOR=YELLOW> <TR><TD ALIGN=CENTER> Rodzaj:</TD> <TD ALIGN=CENTER> <SELECT NAME='rodzaj'> <? $query = " SELECT DISTINCT rodzaj FROM towary order by rodzaj"; $result=MYSQL_QUERY($query); $number = MYSQL_NUM_ROWS($result); if($number>0) { while($row=mysql_fetch_array($result)) { echo("<OPTION VALUE = $row[0]> $row[0]"); } } ?> </SELECT> </TD> <TD ALIGN=CENTER COLSPAN=2><INPUT TYPE='submit' VALUE='Zatwierdz rodzaj'></TD> <INPUT TYPE='hidden' name='zmniejszenie' value= <?echo $zmniejszenie?> > </TR> </TABLE> </FORM> ?>[/php:1:2c2c6bf3a5] W zalozeniu ma on dzialac tak, ze wypisuje z tabeli rozne rodzaje towarow, a po wybraniu jakiegos przekazuje go na nastepna stronke. Niestety przekazuje tylko pierwszy wyraz w zmiennej (do pierwszej spacji). Czy ktos wie jak moge ten problem rozwiazac? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 7.05.2002 Skąd: Sz-n/Wroc/Wawa Ostrzeżenie: (0%) ![]() ![]() |
linia 22:
[php:1:9194ff68a1]<?php echo("<option value="$row[0]">$row[0]</option>"); ?>[/php:1:9194ff68a1] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
maggot napisal:
linia 22: echo("<option value="$row[0]">$row[0]</option>"); Nie wiem czy sie dobrze wyrazilem w pytaniu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten skrypt dziala dobrze. W select wypisuje wszystkie rodzaje z tabeli towary, po czy gdy wybierasz jeden z nich przekazuje go na strone 'dodaj_sprzedaz.php' . Problem w tym ze gdy pod zmienna sa wyrazy oddzielone spacjami to przekazuje tylko pierwszy z nich. A np. w tym formularzu gdzie jest input type: Kod <FORM METHOD='POST' ACTION='zmodyfikuj_towar.php'>
<INPUT TYPE='copy' name='rodzaj' VALUE= '<?echo $rodzaj?>' SIZE='10' MAXLENGTH='20'> <INPUT TYPE='submit' VALUE='Modyfikuj'> </FORM> Jak przekazuje wartosc rodzaj (zawierajaca spacje) do zmodyfikuj_towar.php wszytko jest spoko. Wypisuje potem zmienna razem ze spacjami. |
|
|
![]()
Post
#4
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Kod <FORM METHOD="POST" ACTION="zmodyfikuj_towar.php"> IMHO w HTMLu stosuje się " a nie '
<INPUT TYPE="copy" name="rodzaj" VALUE="<?echo $rodzaj?>" SIZE=10 MAXLENGTH=20> <INPUT TYPE="submit" VALUE="Modyfikuj"> </FORM> |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kod <FORM METHOD="POST" ACTION="zmodyfikuj_towar.php"> IMHO w HTMLu stosuje się " a nie '<INPUT TYPE="copy" name="rodzaj" VALUE="<?echo $rodzaj?>" SIZE=10 MAXLENGTH=20> <INPUT TYPE="submit" VALUE="Modyfikuj"> </FORM> scanner bardzo dziekuje za info, nie wiem jaka jest tylko roznica skoro zarowno" jak i ' dziala mi tak samo. Ale bardziej interesuje mnie odpowiedz na moje pytanie. |
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
No to chyba już Ci maggot odpowiedział pokazując linię 22...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
:oops: sorry , rzeczywiscie to rozwiazalo problem.
Dzieki za pomoc. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze raz wielkie dzikei za pomoc.
Moze moglibyscie jeszcze zerknac na to. Chcialem tu zweryfikowac poprawnosc wprowadzonej ilosci. [php:1:6de104ffeb]<?php //if ((!ereg("[0-9]+.{0,1}[0-9]{0,2}", $ilosc))) { echo "Ilosc nie zostala wprowadzona poprawnie. <br>Format wprowadzenia danych to: 0.00 "; ?>[/php:1:6de104ffeb] Z tego co wyczytalem to jest tak: [0-9]+ to co najmniej jedna cyfra od 1 do 9 .{0,1} to symbol kropki wystepuje lub nie [0-9]{0,2}" od 0 do 2 cyfr po kroce Niestety ten kod nie dziala. Gdy wpisze "1" jest ok. Ale tez pokazuje ze jest ok rowniez gdy wpisze "1a", "1.1111111", "1a.1111" co jest nieprawda Czy moze wiecie gdzie jest blad w tym ifie? |
|
|
![]()
Post
#9
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
[php:1:9bb1e4d6e9]<?php
ereg("^[0-9]{1}(.[0-9]{1,2})?", $ilosc); // ^[0-9]{1} - string zaczynający się jedną cyfrą // po którym następują opcjonalnie kropka i jedna lub dwie cyfry ?>[/php:1:9bb1e4d6e9]Powinno działać, ale gwarancji nie daję. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
niestety nie dziala, nawet 1a zatwierdza (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
znalazlem cos co moze rozwiazac ten problem jezeli kogos by to interesowalo (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
sa funkcje do sprawdzania typu np. if(is_float($cena) ==true) echo "dobrze wprowadzona cena"; inne funkcje to is_numeric, is_int, itp. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:17 |