Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem ze zmienną $_POST
natomiast
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Witam, Mam dwa formularze:
http://areksmolarek.republika.pl/naucz.php
Problem polega na tym, że po naciśnieciu przycisku zmień nie wykonuję sie zapytanie. Tzn wykonuje się ale tylko kiedy ustawie warunek WHERE "ręcznie" . Kiedy jest ustwione "UPDATE nauczyciel SET telefon='333-333' WHERE naucz_id='".$_POST['lista_naucz']."' " zapytanie milczy tak jakby zmienna w $_POST była pusta. THNX za pomoc smile.gif

Ten post edytował natomiast 12.06.2008, 11:15:38
Go to the top of the page
+Quote Post
Lejto
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


zobacz tak:

Kod
naucz_id='".$_POST[lista_naucz]."'


pokombinuj z cudzysłowami i sprawdź czy zmienna post $_POST[lista_naucz] zostanie wywołana przez echo


--------------------
Go to the top of the page
+Quote Post
natomiast
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Z cudzysłowami juz próbowałem i nic jueśli chodzi o echo to wyświetla się a i owszem ale przed warunkiem IF.
Go to the top of the page
+Quote Post
LonelyKnight
post
Post #4





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

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


Cudzysłowy mają jakieś zastosowanie i chyba lepiej dowiedzieć się jak je stosować to nie trzeba będzie kombinować...

  1. <?php
  2. $strQuery = 'UPDATE `nauczyciel` SET `telefon`='333-333' WHERE `naucz_id` = ' . (int)$_POST['lista_naucz'];
  3. ?>


--------------------
Good programming is 99% sweat and 1% coffee.
Make it idiot proof and someone will make a better idiot...
Go to the top of the page
+Quote Post
natomiast
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Cytat(LonelyKnight @ 12.06.2008, 12:24:01 ) *
Cudzysłowy mają jakieś zastosowanie i chyba lepiej dowiedzieć się jak je stosować to nie trzeba będzie kombinować...

  1. <?php
  2. $strQuery = 'UPDATE `nauczyciel` SET `telefon`='333-333' WHERE `naucz_id` = ' . (int)$_POST['lista_naucz'];
  3. ?>


i tyle z tego wyszło:
Parse error: parse error, unexpected T_LNUMBER in C:\Program Files\WebServ\my_www\admin\modyfikacja_nauczyciela.php on line 79

sad.gif
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(natomiast @ 12.06.2008, 12:29:56 ) *
i tyle z tego wyszło:
Parse error: parse error, unexpected T_LNUMBER in C:\Program Files\WebServ\my_www\admin\modyfikacja_nauczyciela.php on line 79

sad.gif
No faktycznie mało ze szkoły wyniosłeś.
Mnie nauczyciele uczyli że nawet jak przepisujesz z tablicy to z głową a nie bezmyślnie.


Popraw sobie. Zamieszane jest z apostrofami.

Ten post edytował mike 12.06.2008, 11:32:23
Go to the top of the page
+Quote Post
natomiast
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Mam to do zrobienia "na zeszły tydzień" tak wiec juz człowiek nie myśi wstydnis.gif
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Ech, coś forum źle bbCode formatuje.
  1. <?php
  2. $strQuery = "UPDATE `nauczyciel` SET `telefon`='333-333' WHERE `naucz_id` = " . (int)$_POST['lista_naucz'];
  3. ?>
Go to the top of the page
+Quote Post
natomiast
post
Post #9





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Hmm... to jednak nie to sad.gif
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(LonelyKnight @ 12.06.2008, 12:24:01 ) *
Cudzysłowy mają jakieś zastosowanie i chyba lepiej dowiedzieć się jak je stosować to nie trzeba będzie kombinować...

  1. <?php
  2. $strQuery = 'UPDATE `nauczyciel` SET `telefon`='333-333' WHERE `naucz_id` = ' . (int)$_POST['lista_naucz'];
  3. ?>


LonelyKnight fajnie że to ma niby "zadziałać", radzę trochę poczytać o cudzysłowach... jak sam powiedziałeś, mają jakieś zastosowanie a sam tych zastosowań nie wykorzystujesz tiredsmiley.gif

poprawiony kod:

  1. <?php
  2. $strQuery = "UPDATE nauczyciel SET telefon='333-333' WHERE naucz_id = ".(int)$_POST['lista_naucz'];
  3. ?>


Ten post edytował pyro 12.06.2008, 11:58:52


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
darecki
post
Post #11





Grupa: Zarejestrowani
Postów: 54
Pomógł: 2
Dołączył: 24.08.2005
Skąd: Warszawa

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


To zobacz czy ci zmienne POST są w ogóle przesyłane:

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


Może błąd polega na braku tej zmiennej wiec poszukaj błędu w formularzy (może brak zamknięci atrybutu name lub nazwy się duplikują)


--------------------
Copyright ˆ by Darecki Ÿ Wszystkie prawa zastrzeżone
TanioNaRybki.pl
Go to the top of the page
+Quote Post
natomiast
post
Post #12





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 3.12.2007

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


Dzieki Darecki
Sprawe załatwiłem dodając pole ukryte do drugiego formularza o value=$_POST['lista_naucz']
Go to the top of the page
+Quote Post
LonelyKnight
post
Post #13





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

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


Cytat(pyro @ 12.06.2008, 12:58:05 ) *
LonelyKnight fajnie że to ma niby "zadziałać", radzę trochę poczytać o cudzysłowach... jak sam powiedziałeś, mają jakieś zastosowanie a sam tych zastosowań nie wykorzystujesz tiredsmiley.gif


Fakt ale to raczej przeoczenie a nie niewiedza.

Cytat(pyro @ 12.06.2008, 12:58:05 ) *
poprawiony kod:
  1. <?php
  2. $strQuery = "UPDATE nauczyciel SET telefon='333-333' WHERE naucz_id = ".(int)$_POST['lista_naucz'];
  3. ?>


Czemu wywaliłeś ``?

  1. <?php
  2. $strQuery = "UPDATE `nauczyciel` SET `telefon`='333-333' WHERE `naucz_id` = ".(int)$_POST['lista_naucz'];
  3. ?>


--------------------
Good programming is 99% sweat and 1% coffee.
Make it idiot proof and someone will make a better idiot...
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(LonelyKnight @ 12.06.2008, 13:11:08 ) *
Czemu wywaliłeś ``?
Bo ich stosowanie nie zawsze jest uzasadnione. Nie zawsze są potrzebne.
Na przykład w tej sytuacji można swobodnie je pominąć.
Go to the top of the page
+Quote Post
pyro
post
Post #15





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(LonelyKnight @ 12.06.2008, 13:11:08 ) *
Fakt ale to raczej przeoczenie a nie niewiedza.


Bardziej chodziło mi o to, że mówisz o specjalnych właściwościach cudzysłowów a pod spodem dajesz przykład zaprzeczający temu...

Cytat(LonelyKnight @ 12.06.2008, 13:11:08 ) *
Czemu wywaliłeś ``?


nie sa potrzebne


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
darecki
post
Post #16





Grupa: Zarejestrowani
Postów: 54
Pomógł: 2
Dołączył: 24.08.2005
Skąd: Warszawa

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


Cytat(pyro @ 12.06.2008, 13:18:20 ) *
Bardziej chodziło mi o to, że mówisz o specjalnych właściwościach cudzysłowów a pod spodem dajesz przykład zaprzeczający temu...



nie sa potrzebne


hmm w tym przypadku się z tobą zgodzę ale ...

tak w celu wyjaśnienie do końca, standardowo nie są potrzebne jedna jeżeli pola maja nazwy specjalne (składowe zapytanie czy funkcji) np values wtedy zapytanie bez `` zwróci błąd, a w zapisie :

  1. UPDATE tabela SET `values` = '1' WHERE id = 1;


wykona się prawidłowo (specjalnie pominięte są w polu id i w nazwie tabeli)


--------------------
Copyright ˆ by Darecki Ÿ Wszystkie prawa zastrzeżone
TanioNaRybki.pl
Go to the top of the page
+Quote Post
leovandamon
post
Post #17





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 5.01.2008
Skąd: Czwarty Świat

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


Ja bym to zrobił tak:

Kod

<?php
  $strQuery = 'UPDATE nauczyciel SET telefon="333-333" WHERE naucz_id = "'.intval($_POST['lista_naucz']).'"';
  ?>


Ten post edytował leovandamon 12.06.2008, 19:03:21


--------------------
Mój blog: http://test.dragonsheart.eu/
DH Corp: http://www.dhcorp.pl/
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 Aktualny czas: 22.08.2025 - 03:56