Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][HTML][PHP] Przekazanie danych bez formularza, jak to zrobic?
Lucky Luke
post 28.04.2011, 14:48:31
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 27.08.2010

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


Witam, robię skrypt z którego mogą korzystać użytkownicy zarejestrowani i nie zarejestrowani. Chcę zrobić edycję pewnych danych które wcześniej zarejestrowany użytkownik dodał do bazy ale ta edycja pomija zapytanie o hasło dla nie zarejestrowanych. Działać działa ale nie wczytuje mi tych danych które chcę, mianowicie chcę, żeby edytowało mi dane z id (rekordu) np. 20 (gdzie login dodającego=loginowi zalogowanego) ale nie przekazuje mi zmiennych i wczytuje inne id tego samego zarejestrowanego użytkownika. Gdzie zrobiłem błędy w kodzie?
Plik który prosi o hasło do danego rekordu dla niezarejestrowanych a dla zalogowanych ma go pominąć
  1. ...//część kodu
  2. $id_get = mysql_escape_string($id_get);
  3. $zap = mysql_query("SELECT * FROM baza WHERE idnum='$id_get'");
  4. echo $html_head;
  5. echo $html_naglowek;
  6. echo '<div id="content">';
  7. if($login = $_SESSION['nick']){
  8. echo'przekierownie jesli zalogowany
  9. <input type="hidden" name="edit_id" value="'.$id_get.'" size="10" class="formst">
  10. <META HTTP-EQUIV="Refresh" CONTENT="3; URL=index.php?akcja=edycja_form">
  11. ';
  12. }
  13. else
  14. <TABLE BORDER=0 WIDTH=750 bgcolor=#EBEBEB cellspacing=1 cellpadding=1>
  15. <TR>
  16. <TD align=right width=50% height=25>
  17. <form action="index.php?akcja=edycja_form" method="post">
  18. <input type="hidden" name="idnum" value="'.$idnum.'">
  19. ...
  20. <input type="text" name="edit_id" value="'.$id_get.'" size="10" class="formst">
  21. ...//dalej jest formularz podania hasła do rekordu dla nie zarejestrowanych


Plik które pokazuje dane rekordu
  1. ...//początkowa część kodu
  2. $id_get = mysql_escape_string($id_get);
  3. $zap = mysql_query("SELECT * FROM baza WHERE idnum Like '%".$_POST['edit_id']."%' ");
  4. while($rek = mysql_fetch_array($zap)) {
  5. $email = $rek[12];
  6. }
  7. echo '<div id="content">';
  8. if(($login = $_SESSION['nick']) or ($passw === $_POST['passw'])){
  9.  
  10. ...//dalsza częśc kodu
  11. }


Zapewne błąd jest tutaj ale nie wiem jak to sformułować sad.gif
  1. if($login = $_SESSION['nick']){
  2. echo'przekierownie jesli zalogowany
  3. <input type="hidden" name="edit_id" value="'.$id_get.'" size="10" class="formst">
  4. <META HTTP-EQUIV="Refresh" CONTENT="3; URL=index.php?akcja=edycja_form">
  5. ';
  6. }
  7. else


Ten post edytował Lucky Luke 28.04.2011, 16:58:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
sadistic_son
post 28.04.2011, 17:46:05
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Ne sprawdzałem dokładnie kodu, tylko z grubsza przejrzałem ale co od razu rzuca się w oczy to
  1. if($login = $_SESSION['nick']){
a powinno być
  1. if($login == $_SESSION['nick']){


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Lucky Luke
post 28.04.2011, 18:05:29
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 27.08.2010

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


Cytat(sadistic_son @ 28.04.2011, 18:46:05 ) *
Ne sprawdzałem dokładnie kodu, tylko z grubsza przejrzałem ale co od razu rzuca się w oczy to
  1. if($login = $_SESSION['nick']){
a powinno być
  1. if($login == $_SESSION['nick']){


tak, tylko jak dam
  1. if($login == $_SESSION['nick']){
to wykonuje się to co jest po else czyli zapytanie o hasło (ustawione wcześniej) do rekordu a ja chcę zrobić tak, żeby pomijało to zapytanie o hasło jeśli użytkownik jest zalogowany ale nie wiem jak przekazać zmienną 'edit_id' bez formularza.
Go to the top of the page
+Quote Post
modern-web
post 28.04.2011, 18:15:20
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Przekaż ją w sesji... Lub w pasku adresu - $_GET


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
Kszysiu
post 28.04.2011, 18:57:47
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 28.04.2011

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


ja mam małe pytanko do tego co napisał modern-web.
napisałeś coś o przekazywaniu zmiennych.
Da się przekazać zmienną _GET
a da się jakoś przekazać do następnej strony zmienną w _POST? albo jakoś coś w podobie do tego? wink.gif
Go to the top of the page
+Quote Post
hieroshima
post 28.04.2011, 19:06:50
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 6
Dołączył: 4.04.2010

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


metoda POST jest formą interakcyjną z użytkownikiem, która nie może być w formie adresu czyli metoda GET. Zostaje tylko formularz smile.gif POST działa tylko z formularzami
Go to the top of the page
+Quote Post
Kszysiu
post 28.04.2011, 19:18:45
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 28.04.2011

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


aha dzięki.
Czyli nie da się w sposób "niewidoczny" przesłać danych z jednej strony do drugiej? oczywiście nie mówie o sesjach wink.gif
Go to the top of the page
+Quote Post
hieroshima
post 28.04.2011, 19:30:18
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 6
Dołączył: 4.04.2010

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


w zasadzie jest taki sam temat w dziale PHP dam tu ten sam link co tam, ale nie jestem pewny czy to działa i czy jest bezpieczne --> POST BEZ FORMULARZA
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:09