Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]If w php
Altres
post 26.07.2010, 17:53:33
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


Witam w programowaniu if rozumiem ale w php nie rozumiem go wo gule mam taki kod

  1. <?php
  2.  
  3. if ($ilePlikow==1)
  4. {
  5. header('location: strona.php?wynik=sukces');
  6. exit();
  7.  
  8. }
  9.  
  10. elseif ($ilePlikow==2)
  11.  
  12. {
  13.  
  14. header('location: strona2.php?wynik=sukces');
  15. exit();
  16. }
  17.  
  18. ?>



I dlaczego on nie działa gdy dam jaką kol wiek wartość to wyświetla się pusta strona i nic się nie dzieje
Go to the top of the page
+Quote Post
PanGuzol
post 26.07.2010, 17:55:14
Post #2





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


A gdzie ustawiasz wartość zmiennej $ilePlikow ?


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Altres
post 26.07.2010, 18:02:13
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


W formularzu we wcześniejszym pliku jest poprawny bo jak dam tylko if bez elseif to wszystko działa jak dodam elseif to już nie.
Go to the top of the page
+Quote Post
everth
post 26.07.2010, 18:05:24
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Sprawdź jaka jest wartość $ilePlikow bo może się okazać że nie spełnia żadnego warunku.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Altres
post 26.07.2010, 18:17:08
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


spełnia 1 warunek
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:17:47
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


nie

Kod
header('location: strona.php?wynik=sukces');


a

Kod
header('Location: http://local/strona.php?wynik=sukces');


i może spróbuj:

Kod
$ilePlikow=='2'


Poza tym chcesz wysłać zależnie od wyniku na tą samą stronę?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Fifi209
post 26.07.2010, 18:20:52
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(!*! @ 26.07.2010, 18:17:47 ) *
nie

Kod
header('location: strona.php?wynik=sukces');


a

Kod
header('Location: http://local/strona.php?wynik=sukces');


i może spróbuj:

Kod
$ilePlikow=='2'


Poza tym chcesz wysłać zależnie od wyniku na tą samą stronę?

Przekierowanie jest dobre.

Co do
Kod
$ilePlikow=='2'


PHP sam rzutuje na typ int przy jego porównaniu.

@topic
Pokaż formularz i część która odbiera go.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Altres
post 26.07.2010, 18:22:33
Post #8





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


Nic to nie daje a co do wysyłania na tą samą stronę to dałem do testów taką samą stronę jak zacznie działać kod to zmienię stronę

Formularz

  1. <title>Wybierz ilość plików do wgrania</title>
  2. </head>
  3. <body>
  4. <form name="form1" method="post" action="if.php">
  5. Ile plików chciałbyś wgrać? (Max = 9).
  6.  
  7. <input name="ilePlikow" type="text" id=" ilePlikow " maxlength="1" />
  8.  
  9.  
  10. <input type="submit" name="Submit" value="Dalej" />


części która odbiera go jeszcze nie mam bo stoję na tym if ale ona jak na razie nie ma znaczenia .

Ten post edytował Altres 26.07.2010, 18:24:04
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:24:00
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Odbierz if.php post
Kod
$ilePlikow = $_POST['ilePlikow'];


Edit, wybacz, zagmatwałeś dlatego nie zrozumiałem winksmiley.jpg

Ten post edytował !*! 26.07.2010, 18:27:32


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Altres
post 26.07.2010, 18:25:21
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


A po polsku zmiana przekierowania nie działa a w kodzie jest taka sama strona bo dałem ją do testowania jak tak ci zależy to zmieniam adres na strona2 i co to zmienia questionmark.gif

Może ktoś wie jak zrobić inaczej takie odwoływanie questionmark.gif bo z header coś mi nie działa .

Ten post edytował Altres 26.07.2010, 18:26:45
Go to the top of the page
+Quote Post
everth
post 26.07.2010, 18:26:49
Post #11





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Porób var_dump($ilePlikow) w każdej sekcji i sprawdź czy któraś część warunku się wykonuje i jaka jest wartość zmiennej na wyjściu.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Fifi209
post 26.07.2010, 18:29:51
Post #12





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Altres @ 26.07.2010, 18:22:33 ) *
części która odbiera go jeszcze nie mam bo stoję na tym if ale ona jak na razie nie ma znaczenia .

Ma znaczenie.

Strzelam, że wyłączone register globals więc zamiast:
  1. $ilePlikow


Będzie:
  1. $_POST['ilePlikow']


a to kompletnie zmienia sprawę. winksmiley.jpg

Cytat(Altres @ 26.07.2010, 18:25:21 ) *
A po polsku zmiana przekierowania nie działa a w kodzie jest taka sama strona bo dałem ją do testowania jak tak ci zależy to zmieniam adres na strona2 i co to zmienia questionmark.gif

Może ktoś wie jak zrobić inaczej takie odwoływanie questionmark.gif bo z header coś mi nie działa .

Wszystko działa, tylko przed nagłówkami nie możesz nic innego wysyłać bo dostaniesz: headers already sent

Cytat(!*! @ 26.07.2010, 18:24:00 ) *
Odbierz if.php post
Kod
$ilePlikow = $_POST['ilePlikow'];


Edit, wybacz, zagmatwałeś dlatego nie zrozumiałem ;)


Nie ucz go złych nawyków, nie zrobi jak ja napisałem.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Altres
post 26.07.2010, 18:30:28
Post #13





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.03.2009

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


Działa wielkie dzięki a swoją drogą jak włączyć register globals questionmark.gif
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:30:45
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Dlaczego jest to zły nawyk według Ciebie fifi209?

Ten post edytował !*! 26.07.2010, 18:31:52


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Fifi209
post 26.07.2010, 18:40:58
Post #15





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Altres @ 26.07.2010, 18:30:28 ) *
Działa wielkie dzięki a swoją drogą jak włączyć register globals questionmark.gif

Nawet nie próbuj tego włączać bo się nauczysz jeszcze gorszych rzeczy.

Cytat(!*! @ 26.07.2010, 18:30:45 ) *
Dlaczego jest to zły nawyk według Ciebie fifi209?

Jak widzisz w setkach linii $_POST['pole'] to wiesz skąd to się zabrało - i nie mówię tu o własnym kodzie tylko np. o czyimś. Równie dobrze możesz walnąć extract...

@Altres & !*!
Poza tym łatwiej o błąd przy register globals:

  1.  
  2. if (!empty($_POST['pole'] && ctype_alpha($_POST['pole'])) {
  3. $pole = $_POST['pole'];
  4. }


zabezpieczone? NIE! Podam w $_GET['pole'] dowolną wartość i nie musi przechodzić walidacji.

Część 12 ;)

Ten post edytował fifi209 26.07.2010, 18:42:46


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:48:00
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie zgodziłbym się z tym, ponieważ na początku (z reguły) masz

Kod
$pole = $_POST['pole'];


I później $pole elegancko obrabiasz, nie wyobrażam sobie żeby wpisywać cały czas tylko $_POST['pole'], tym bardziej że choćby sama nazwa może zostać w formularzu zmieniona np. przez następną ekipę remontową. Zresztą to indywidualna sprawa każdego kodera.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Fifi209
post 26.07.2010, 18:49:10
Post #17





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(!*! @ 26.07.2010, 18:48:00 ) *
Nie zgodziłbym się z tym, ponieważ na początku (z reguły) masz

Kod
$pole = $_POST['pole'];


I później $pole elegancko obrabiasz, nie wyobrażam sobie żeby wpisywać cały czas tylko $_POST['pole'], tym bardziej że choćby sama nazwa może zostać w formularzu zmieniona np. przez następną ekipę remontową. Zresztą to indywidualna sprawa każdego kodera.

Rozmawiamy w przypadku włączonej dyrektywy register globals.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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: 12.06.2025 - 14:33