Poslao: 21 Sep 2015 12:37
|
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.
|
|
|
Poslao: 21 Sep 2015 18:58
|
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.
|
|
|
|
|
Poslao: 22 Sep 2015 23:05
|
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!';
}
}
|
|
|
|
Poslao: 23 Sep 2015 20:19
|
offline
- MinerFull
- Ugledni građanin
- 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);
|
|
|
|
Poslao: 23 Sep 2015 21:37
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- 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.
|
|
|
|
Poslao: 25 Sep 2015 16:11
|
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?
|
|
|
|
Poslao: 25 Sep 2015 16:52
|
offline
- MinerFull
- Ugledni građanin
- 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).
|
|
|
|
|