[PHP] Nie działają IF'y

Witam. 

Bezpośrednio w temacie Twojego problemu:

Sprawdź logi PHP, jeśli kod ma błąd, to się z nich o tym dowiesz.

Jeśli musisz używać exit() w swoim programie (raczej zły pomysł), nadaj przynajmniej poszczególnym wyjściom różne kody błędów, żebyś z logów mógł wywnioskować co się stało.

Prześledź swój program. Użyj debuggera albo przynajmniej wyrzuć na konsolę stan zmiennych, które sterują przepływem w Twoim kodzie. W tym drugim przypadku print_r() jest Twoim przyjacielem.

Zerknij też na wytyczne dobrego stylu na http://www.php-fig.org/ i pozbądź się zamykającego kod ?> (szczególnie w db.pjp) żeby Twoje headery dało się w ogóle ustawić.

Bardziej ogólnie:

Staraj się też nie mieć spacji między pytajnikiem a php w tagu otwierającym.

Nie hashuj w taki sposób haseł, a już zdecydowanie nie MD5 i nie bez soli. Do składowania pochodnych hasła służy tzw. key derivation function, w przypadku hasła powinieneś użyć PBKDF2. PHP wspiera je natywnie od 5.5.0 (sprawdź hash_pbkdf2() w dokumentacji).

 

 

Nie jest to odpowiedź na mój problem ale dziękuję za Twoje zainteresowanie. Problem właśnie rozwiązałem sam a była nim spacja w miejscu <? php  nie wiedziałem że ma jej nie być ponieważ piszę w Sublime Text 3 gdzie pokolorowało mi składnię jak ta spacja była. Co do Twoich poleceń to postaram się zmienić swoje hashowanie chociaż za pewne nie będzie to dla mnie proste jako dla człowieka który uczy się dopiero PHP. Nie przedłużając problem jest rozwiązany i można zamknąć. Czy mógłbyś polecić jakiś edytor żeby można było pisać HTML CSS JS i PHP ?

W przekierowywaniu w środku skryptu exit() się przydaje, przerywa skrypt czego header() nie robi. Aczkolwiek przy echo() jest to bez sensu.

Przy pobieraniu czegoś z formularzy dobrze jest robić trim() na danych potem obrabianych.

 

Ja exit() napisałem na przyszłość. W Tym IF nie będzie samo echo. Napisałem echo ze względu żeby sprawdzić czy kod w ogóle działa. Exit() będzie potrzebne ale w późniejszym etapie kodowania.

Ktoś chyba nie umie czytać z zrozumieniem :stuck_out_tongue:

Co do edytora to VS albo notepad++ :wink:

Umie umie :slight_smile: widziałem to :slight_smile: chodziło mi o to że strasznie się rozpisałeś a odpowiedzi udzieliłeś w jednym zdaniu :slight_smile: W notepad++ próbowałem ale jakoś on mi nie siadł. Może dlatego że nie uzupełnia napisów (nie podpowiada składni). Spróbuję na VS ponieważ na nim coś już wcześniej pisałem :slight_smile: Dzięki wielkie 

Do poważnego programowania w PHP możesz użyć NetBeans zamiast tego notatniko-podobnego mini-edytora jakim jest sublime, a który dodatkowo jest płatny - a pracodawca ci notatnika nie kupi.

 

U mnie w pracy pisze się w Ruby Mine a to mam na razie na użytek własny. NetBeans mnie odpycha totalnie. Szkoda ze w Eclipsie nie da się pisać :stuck_out_tongue:

Spora część ninja od internetów korzysta z SublimeText i nie widzi z nim problemów … w tym i ja. Edytor nie jest od sprawdzania składni. Do Subllime’a jest plugin PHP Code Sniffer, który integruje go z m.in. PHP Lint, Mess Detector i (właściwym) CodeSniffer’em.

 

P.S.

Złej baletnicy to i majtki będą przeszkadzać :stuck_out_tongue:

Uważaj ze słowami, bo fraza “poważna praca” jest już chyba zastrzeżony przez tomekb z redakcji DP :smiley:

 

 

Do czego służy ten PHP Code Sniffer ?

Tylko przypuszczałem co może być problemem - dlatego jest to w grupie uwag ogólnych. Bo, wybacz, ale nie będę debugował niekompletnego kodu, żeby sprawdzić co masz w nim źle. :slight_smile: Nie tak wygląda nauka programowania. Jakiegokolwiek. Sugeruję mimo wszystko zastosować się do wszystkich wymienionych podpunktów: im szybciej nabędziesz dobrych nawyków przy programowaniu, tym łatwiejsza będzie Twoja przygoda z nim.

Do sprawdzania formatowania kodu pod względem standardów. Tobie bardziej się przyda Lint, który sprawdza jego poprawność. Wyeliminowało by to problem spacji. Jeżeli pracujesz na maszynie lokalnej to najlepiej włączyć wyświetlanie wszystkich błędów i ostrzeżęń, wtedy Lint będzie minimalnie mniej przydatny.