Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]jak odebrac zmienn przesylana $_GET[php]
martino277
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 23.11.2006

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


czesc!mam pytanie wiem mniej wiecej co w trawie piszczy ale niedokonca niemoge odebrac tak jak trzeba zmiennej przesylanej w adresie przez GET

przesylam zmienna

strona.php?id=$id

a probuje ja odebrac za pomoca takiego kodu
  1. <?php
  2. include "connect.php";
  3.  
  4.  
  5. $id=$_GET['id'];
  6. $pyt=mysql_query("SELECT * FROM anonse WHERE id='$id'");
  7. if(!$pyt) {echo mysql_errno().": "; echo mysql_error()."<br>"; }
  8. if($row=mysql_fetch_array($pyt))
  9. {
  10. $mail=$row['mail'];
  11. $tel=$row['tel'];
  12. }
  13.  
  14. echo("<center><span class=normal>Adres e-mail: </span><a href=mailto:$mail class=linki>$mail</a></center><br>");
  15.  
  16. if($tel!="")
  17. echo("<center><span class=normal>Telefon: <b>$tel</b></span></center>");
  18. ?>

ale to cos jest chyba zle bo powinno pokazywac adres email i telefon a pokazuje tylko adres email: i wiecej nic prosze o jakas podpowiedz pozdrawiam z gory dziekuje

Ten post edytował martino277 10.10.2007, 10:37:49
Go to the top of the page
+Quote Post
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Nie przesyłasz zmiennej metodą POST (to formularze) a metodą GET (poprzez URL)

  1. <?php
  2. $id=$_GET["id"];
  3. ?>


edit:

bez apostrofów przy $id - id jak się domyślam jest typu int wiec tak szybciej zapytanie zadziała bo z apostrofem to jest najpierw wykoywana konwersja typów zmiennych ze stringa na inta
  1. <?php
  2. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id ");
  3. ?>


Łukasz

Ten post edytował kossa 10.10.2007, 10:32:36
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(martino277 @ 10.10.2007, 09:28:59 ) *
przesylam zmienna
  1. <?php
  2. strona.php?id=$id
  3. ?>


to jest zmienna przesłana metodą GET, czyli ją pobierasz za pomocą:

  1. <?php
  2. echo $_GET['id'];
  3. ?>


POST używasz na przykład w formularzach
  1. <form action='plik.php' method="post">
  2. <input type='hidden' name='id' value='<?php echo $id;?>'>
  3. <input type=submit>
  4. </form>
Go to the top of the page
+Quote Post
martino277
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 23.11.2006

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


dzieki za wyjsnienie panowie to sie pomylilem znaczy sie zaraz zmienie to dlatego mi nieodbieraznaczy sie jak zmienie post na get to powinno dzialac zaraz sprawdze

no dalem taki kod
  1. <?php
  2. include "connect.php";
  3. echo $_GET["id"];
  4. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id");
  5. if(!$pyt) {echo mysql_errno().": "; echo mysql_error()."<br>"; }
  6. if($row=mysql_fetch_array($pyt))
  7. {
  8. $mail=$row['mail'];
  9. $tel=$row['tel'];
  10. }
  11.  
  12. echo("<center><span class=normal>Adres e-mail: </span><a href=mailto:$mail class=linki>$mail</a></center><br>");
  13.  
  14. if($tel!="")
  15. echo("<center><span class=normal>Telefon: <b>$tel</b></span></center>");
  16. ?>

ale jest taki blad
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Adres e-mail:
czyli niewiem co jest? (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)

Ten post edytował martino277 10.10.2007, 10:53:59
Go to the top of the page
+Quote Post
Cezar708
post
Post #5





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(martino277 @ 10.10.2007, 09:45:23 ) *
no dalem taki kod
  1. <?php
  2. include "connect.php";
  3. echo $_GET["id"];
  4. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id");
  5. // .. i reszta Twojego kodu
  6. ?>


tu zamiast
  1. <?php
  2. echo $_GET["id"];
  3. ?>

to wyświetla zmienną, a Ty musisz ją przejąć (ja podałem Ci to jako przykład), czyli
  1. <?php
  2. $id = $_GET['id'];
  3. ?>
Go to the top of the page
+Quote Post
kossa
post
Post #6





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


tu na pewno jest źle - brak zmiennej id:

  1. <?php
  2. echo $_GET["id"];
  3. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id");
  4.  
  5. //tak:
  6. $id=$_GET["id"];
  7. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id");
  8. ?>


Łukasz
Go to the top of the page
+Quote Post
martino277
post
Post #7





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 23.11.2006

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


zmienilem cezary na tak jak powiedziales
  1. <?php
  2. include "connect.php";
  3. $id = $_GET['id'];
  4. $pyt=mysql_query("SELECT * FROM anonse WHERE id=$id");
  5. if(!$pyt) {echo mysql_errno().": "; echo mysql_error()."<br>"; }
  6. if($row=mysql_fetch_array($pyt))
  7. {
  8. $mail=$row['mail'];
  9. $tel=$row['tel'];
  10. }
  11.  
  12. echo("<center><span class=normal>Adres e-mail: </span><a href=mailto:$mail class=linki>$mail</a></center><br>");
  13.  
  14. if($tel!="")
  15. echo("<center><span class=normal>Telefon: <b>$tel</b></span></center>");
  16. ?>

ale nadal mam ten sam blad w pierwszej lini
Go to the top of the page
+Quote Post
Cezar708
post
Post #8





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


hmm są dwa wyjścia w tym momencie

1. Twoje ID to nie jest integer tak jak zakładałem, więc możesz w zasadzie w każdym przypadku zmienić odpowiednią linijkę na:
  1. <?php
  2. $pyt=mysql_query("SELECT * FROM anonse WHERE id='$id'"); // $id dałem pomiędzy dwa apostrofy
  3. ?>


2. nie przenosisz do skryptu zmiennej poprzez get, po prostu wywołaj swój skrypt w ten sposób:
Kod
twojskrypt.php?id=xx

gdzie xx to jest Twoje testowe id, dla którego chcesz sprawdzić działanie skryptu
Go to the top of the page
+Quote Post
martino277
post
Post #9





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 23.11.2006

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


blad zniknal bezwzgledu jak wywoluje pierwsza metoda czy ta co podales cezar brakowalo apostrofow ale nadal mi niewyswietla informacji zmienna elegancko sie przkazuje jeszcze tylko zeby sie informacje email i adres wyswietlal to by bylo gites bede walczyl dalej az do skutku pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
Cezar708
post
Post #10





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


jeśli pobrało z bazy danych to sprawdź czy aby na pewno masz kolumnę mail
vide:
  1. <?php
  2. $mail=$row['mail'];
  3. ?>

oraz czy masz w niej jakąś wartość wpisaną, bo ogólnie to powinno zadziałać

TIP:
często może pomóc wyświetlenie zawartości tablicy $row za pomocą, być może w ten sposób zobaczysz błąd w swoim kodzie:
  1. <?php
  2. echo "<pre>";
  3. print_r($row);
  4. echo "</pre>";
  5. ?>
Go to the top of the page
+Quote Post
martino277
post
Post #11





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 23.11.2006

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


ok dzieki cezar bede probowal pozdrawiam

kolumny vide niemam takiej w bazie w pozycji email wogole niema
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: 23.08.2025 - 16:36