Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przekazywanie zmiennych
Forum PHP.pl > Forum > Przedszkole
kozioł
Witam ,

nie daję rady z problemem ,

mam formularz , przesyłam nim dane do skryptu który wyświetla mi dane z bazy potem z niego wysyłam nim zmienne do skryptu który zapisuje dane do bazy , i te same zmienne spowrotem przesyłam submitem do skryptu który wyświetla mi dane z bazy . I o ile w jedną stronę to działa to w drugą za cholerę. Niby zmienne przechodzą , ale nic mi sie nie wyświetla. Jak wpiszę je z ręki to jest ok.

Zrobiłem test , wypisałem echo , jakie zmiennę przechodzą za pierwszym razem gdy działa ,a jakie gdy nie działa

niby to samo ale:

rezultat=wszystkoNazwisko=wszystkorodzaj=wszystkolo - to działa
rezultat=wszystko Nazwisko=wszystko rodzaj=wszystko -to nie działa

jak widać w drugim przypadku są między danymi spacje , czy to ma wływ ?


a tak pobieram zmienne i przechowuję do wysłania:

  1. <?php
  2. $rezultat=$_POST['rezultat'];
  3. $Nazwisko=$_POST['Nazwiskolista'];
  4. $rodzaj=$_POST['rodzaj'];
  5. echo "<input type=\"hidden\" name=\"rezultat\" value=\"".$rezultat."\">";
  6. echo "<input type=\"hidden\" name=\"Nazwisko\" value=\"".$Nazwisko."\">";
  7. echo "<input type=\"hidden\" name=\"rodzaj\" value=\"".$rodzaj."\">";
  8. ?>



będę wdzięczny za pomoc

pozdrawiam
cojack
Sory pomógłbym Ci ale za cholerę nie rozumiem o co Ci chodzi winksmiley.jpg
pianta_d
Skorzystaj

  1. <?php
  2. echo '<pre>';
  3. print_r($_POST);
  4. echo '</pre>';
  5. ?>


zobacz co dostajesz w tablicy
kozioł
tak jak pisałem na początku ,

dostęję te same zmienne tylko że ze spacjami miedzy jedną zmienną a drugą , i tak sobie myślę że może do tych zmiennych może gdzieś spacja się dopisuje?

do "cojack" ,

sprawa jest tego typu , że mam np. formularz , wybieram jakies dane i i wysyłam do innego skryptu co mi wyświetla dane na ekranie , każdy wiersz mogę modyfikować na końcu wysyłam zmodyfikowane dane do skryptu który mi to wszystko zapisuje do bazy , no ale jak teraz wrócić do poprzedniej strony aby skrypt pamiętał co na początku użytkownik wybrał w formularzu ? wieć zmiennę od formularza przekazuję do końca a potem wracam z nimi do tego skryptu który wyświetla dane na stronie
pianta_d
A co to jest
  1. <?php
  2. "".$rezultat."\"
  3. ?>



masz dwa cudzysłowy na początku i na końcu
cojack
Możesz sobie te zmienne dopisać do tablicy session, np $_SESSION['cos'] = $zmienna_cos;
wtedy masz ją dopóki nie zniszczysz całej tablicy, a później by wyzerować tablice sessji by ich nie trzymać w pamięci robisz

$_SESSION = array();
no chyba że pracujesz na sessji usera to nie radzę winksmiley.jpg Wtedy musisz cały czas postem przesyłać te zmienne, lub przy powrocie do pierwszego formularza pobrać je z bazy np w taki sposób

SELECT * FROM tabela WHERE id = (SELECT max(id) FROM tabela);

to będzie ostatni zapisany wiersz winksmiley.jpg
InosU31
Cytat
rezultat=wszystkoNazwisko=wszystkorodzaj=wszystkolo - to działa // co to jest to "wszystko" jakas zmienna czy co??
rezultat=wszystko Nazwisko=wszystko rodzaj=wszystko -to nie działa

jak widać w drugim przypadku są między danymi spacje , czy to ma wływ ?


a tak pobieram zmienne i przechowuję do wysłania:
  1. <?php
  2. $rezultat=$_POST['rezultat'];
  3. $Nazwisko=$_POST['Nazwiskolista']; // tu masz Nazwiskolista -- nie deinjujesz nigdzie tej nazwy
  4. $rodzaj=$_POST['rodzaj'];
  5. echo "<input type=\"hidden\" name=\"rezultat\" value=\"".$rezultat."\">";
  6. echo "<input type=\"hidden\" name=\"Nazwisko\" value=\"".$Nazwisko."\">"; // a tu name = Nazwisko
  7. echo "<input type=\"hidden\" name=\"rodzaj\" value=\"".$rodzaj."\">";
  8. ?>

jesli chodzi o laczenie znakow to jesli chcesz polaczyc zmeinen to rob to za pomoca kropki :

$zmienna.$zmienna1.$zmienna2

a jak jest miedzy jakis tekst to musisz to dac w "" czyli $rezultat = "wszystko $Nazwisko= wszystko $rodzaj"; itd
lub $rezultat = "wszystko =".$Nazwisko."wszystko =."$rodzaj; itd.

nie wiem czy o to Ci chodzi
kozioł
zauważyłem jedną rzecz , że jak dane przekazuję ze skryptu POST-em , jest ok ,

jak przekazuję GET , to kicha tak jak by tych danych nie widział , ale echo pokazuje że są ,

w mały skrócie:

na stronie która nazywa się np. "x" co wyświetlają mi się dane z bazy zmienne otrzymuje z formularza.php mam taki warunek ,

  1. <?php
  2. $q = "SELECT   *  FROM baza WHERE  jednostka='idjednostka'  ";
  3.  
  4. if ($rezultat !='wszystko') {
  5. $q .= "AND rezultat = '$rezultat' ";
  6. }
  7. if ($Nazwisko !='wszystko') {
  8. $q .= " AND osoroz = '$Nazwisko' ";
  9. }
  10. if ($rodzaj !='wszystko') {
  11. $q .= " AND rodzaj ='$rodzaj'  ";
  12. }
  13.  
  14.  
  15. $wynik = mssql_query($q);
  16. ?>



potem przekazuję dalej zminne GET-em
  1. <?php
  2. $link = '<a href="edytujlista2.php?id='.$row['id']. ' & rezultat='.$rezultat.' & Nazwisko='.$Nazwisko.' & rodzaj='.$rodzaj.'">edycja</a>';
  3. ?>


i jak w następnym skrypcie edytujlista2.php odbiorę te zmienne zapiszę to co mam zapisać(zpisuje się wszystko poprawnie) do bazy i wrócę spowrotem do tej strony "x" za pomocą submita , to mimo iż echo mi wyświetla zmienne to dane z bazy się nie wyświetlają , tak jakby tych danych skrypt nie widział , albo były jakoś zafałszowane.

zrobiłem eksperyment , i ze skryptu "x" puściełm te zmienne dalej jako POST do edytujlista2.php odebrałem jako POST , i wróciłem do skryptu "x" i wszystko gra

Więc co się dzieje ?

PS.

no wkońcu udało mi się dojść do tego co było nie tak ,

wywaliłem odstępy między & przy przesyłaniu GET-em i już działa ,
trike
Cytat(kozioł @ 1.04.2009, 09:31:24 ) *
wywaliłem odstępy między & przy przesyłaniu GET-em i już działa ,

no dokladnie, odstepy ci zmienialy wyglad urla w miejsce spacji wkladal %20
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.