Problem sa POST metodom.

1

Problem sa POST metodom.

offline
  • Pridružio: 28 Okt 2009
  • Poruke: 212
  • Gde živiš: Kanjiza

Napisano: 21 Sep 2015 12:31

Ne razumem sad ovo. Koristim POST metodu i prvi problem koji mi se javlja je da mi u URL-u ispisuje podatke kao da koristim GET metodu.
Drugi problem je u tome sto nece da ispise tekst koji sam napisao kada submitujem. Samo obnovi stranicu.
Radi se o login formi.
Evo i source.
Ovo je index.php
<?php     include 'core.php';     include 'loginform.inc.php';     ?>
Ovo je core.php (totalno za ovaj problem ja mislim)
<?php     ob_start();     session_start();     $current_file = $_SERVER['SCRIPT_NAME']; ?>

I ovo je loginform.inc.php
<?php     if(isset($_POST['username']) && isset($_POST['password'])){         echo 'ja';     } ?> <form action="<?php echo $current_file ?>" metod="POST">     Username: <br> <input type="text" name="username"> <br>     Password: <br> <input type="text" name="password"> <br>     <input type="submit" value="Log in"> </form>
Iz tutoriala koje sam gledao, ovako je isto napisano. Ne razumem u cemu je problem..

Dopuna: 21 Sep 2015 12:37

Evo jos i da napomenem da koristim xamp za local hosting.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

treba method="post" fali ti h



offline
  • Pridružio: 28 Okt 2009
  • Poruke: 212
  • Gde živiš: Kanjiza

Napisano: 21 Sep 2015 18:00

Hvala druze , ne znam kako mi je promaklo to.
E sad bi mi trebala opet pomoc, nece da izvrsi query..
Ovo je index
<?php     include_once "DB.php";     include_once 'core.inc.php';     include_once 'loginform.inc.php';     include_once 'validation.inc.php'; ?>
Ovde je konekcija za bazu tj. DB.php
<?php     $mysql_host='127.0.0.1';     $mysql_username = 'root';     $mysql_password = '';     $mysql_database = 'fitnesdb';         if(!mysql_connect($mysql_host, $mysql_username, $mysql_password)||!mysql_select_db($mysql_database)){         die('Database connection failed!');     }else{         echo "OK";     } ?>
A ovo je gde se nalazi funkcija gde se izvrsava query
<?php     include_once 'DB.php';     function userval($username){         $query = "SELECT 'username' FROM 'users' WHERE 'username' = '$username'";         if($result=mysql_query($query)){             echo 'lodu';         }else{             echo 'cca';         }     } ?>
Ovde sam na kraju ispisao gluposti samo da vidim da li je izvrsen quey ali uvek izbaci cca , tj. ne izvrsi ga uopste.
funkcija uspesno dobije $username varijablu, to sam proverio !
Ne znam gde sam mogao pogresiti. U PHP-u sam nov pa mozda ne primecujem nesto sto bih trebao.

Dopuna: 21 Sep 2015 18:01

Verovatno sam query komandu lose napisao...
I da , bio sam proverio za svaki slucaj konekciju sa bazom. U fnkciji userval sam ubacio "echo mysql_ping()" izbaci mi 1 .

Dopuna: 21 Sep 2015 18:58

Skontao, treba bez navodnika tj. navodnici trebaju samo kod $username i nista vise... samo sto je ovaj u tutorialima pisao ovako kao ja. Nzm kako mu je uspelo . (video tutoriali) uglavnom resen problem.

offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

Obavezno obrati paznju na
http://php.net/manual/en/security.database.sql-injection.php
i koristi mysqli mysql nebi trebao vise da se koristi
http://php.net/manual/en/book.mysqli.php

offline
  • Pridružio: 28 Okt 2009
  • Poruke: 212
  • Gde živiš: Kanjiza

Napisano: 21 Sep 2015 21:15

U redu druze. Hvala ti. Sad cu da prostudiram malo taj msqli. A sa zastitom protiv injectiona sam mislio da se pozabavim. Hvala i za to.

Dopuna: 22 Sep 2015 23:05

Jos jedno pitanje. Da li je mysqli_real_escape dovoljna funkcija za zastitu od mySQL injetion-a ?
Ja sam ovako napisao:
 function loginval($username, $password,$con){         $username_e = mysqli_real_escape_string($con,$username);         $password_e = mysqli_real_escape_string($con,$password);         $query = "SELECT username FROM users WHERE username = '$username_e' AND password = '$password_e'";                 if($result = mysqli_query($con,$query)){             $result_num_row = mysqli_num_rows($result);             if($result_num_row==0){                 $message = "Wrong username or password";                 echo "<script type='text/javascript'>alert('$message');</script>";             }else if ($result_num_row==1){                 echo 'Loged in!';             }         }

offline
  • Pridružio: 01 Jan 2012
  • Poruke: 392

Po mom misljenju mislim da je sigurnije da koristis htmlspecialchars.

$username_e = htmlspecialchars($username, ENT_QUOTES, 'UTF-8', false);

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3745
  • Gde živiš: 127.0.0.1

Nikad ne drzi plain-text sifre u bazi. Obavezno hash-uj, npr sa sha1, i ne bi bilo lose da ukljucis i salt u celu pricu.

offline
  • Pridružio: 28 Okt 2009
  • Poruke: 212
  • Gde živiš: Kanjiza

U bazi sifre sam hash-ovao sa md5 ...
Ima li jos neko neko misljenje sta je najbezbednije koristiti, po pitanju hashovanja i zastite od nekih mySQL injection-a?

offline
  • Pridružio: 01 Jan 2012
  • Poruke: 392

Mozda da promenis hash algoritam, koliko znam najsigurniji je bcrypt, jos nisam cuo da ga je neko probio (sto ne znaci da ostali hash algoritmi nisu sigurni, da budem jasniji).

offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

primer (ne)sigurnosti cistog md5
https://www.google.rs/search?q=c8d1693d0f349f223c324b3eca55d8b3
Evo jedan dobar tekst na tu temu. Malo je stariji al jos uvek aktuelan
goo.gl/25RfcF

Ko je trenutno na forumu
 

Ukupno su 1187 korisnika na forumu :: 39 registrovanih, 8 sakrivenih i 1140 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: ajo baba, Aleksandar Tomić, bobomicek, bojankrstc, Boris90, bufanje, Dimitrise93, DonRumataEstorski, Dorcolac, DPera, draganca, Duh sa sekirom, Dvojac005, FileFinder, FOX, goxin, HrcAk47, Karla, Kibice, kjkszpj, Kubovac, ladro, laurusri, LUDI, Luka Blažević, mercedesamg, Metanoja, MikeHammer, Misirac, nemkea71, pein, Pikac-47, Romibrat, Sirius, Smajser, Srle993, Sumadija34, vathra, VJ