Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przekazanie zmiennej ze spacjami w srodku HELP!!!!
kambier
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
maggot
post
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]
Go to the top of the page
+Quote Post
kambier
post
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.
Go to the top of the page
+Quote Post
scanner
post
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">

<INPUT TYPE="copy" name="rodzaj" VALUE="<?echo $rodzaj?>"  SIZE=10 MAXLENGTH=20>

<INPUT TYPE="submit" VALUE="Modyfikuj">

</FORM>
IMHO w HTMLu stosuje się " a nie '
Go to the top of the page
+Quote Post
kambier
post
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">

<INPUT TYPE="copy" name="rodzaj" VALUE="<?echo $rodzaj?>"  SIZE=10 MAXLENGTH=20>

<INPUT TYPE="submit" VALUE="Modyfikuj">

</FORM>
IMHO w HTMLu stosuje się " a nie '



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.
Go to the top of the page
+Quote Post
scanner
post
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...
Go to the top of the page
+Quote Post
kambier
post
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.
Go to the top of the page
+Quote Post
kambier
post
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?
Go to the top of the page
+Quote Post
scanner
post
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ę.
Go to the top of the page
+Quote Post
kambier
post
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)
Go to the top of the page
+Quote Post
kambier
post
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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 13:17