Pogledajte određenu poruku
Staro 11. 09. 2013.   #1
slavkan
profesionalac
Professional
 
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
slavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished roadslavkan is on a distinguished road
Default localhost Vs web

Da li neko moze da mi objasni zasto najjednostavnija skripta za logovanje u lokalu radi a kada tu istu skriptu prebacim na web nece pa nece. Evo da ne davim pogledajte skript:

HTML kôd:
<form name="loginform" action="login_exec.php" method="post">

<?php
if( isset($_SESSION['ERRMSG_ARR']) && 
is_array($_SESSION['ERRMSG_ARR']) && 
count($_SESSION['ERRMSG_ARR']) >0 ) 
		{
										
		echo'<span class="notification n-filed">
		<span><img src="admin/notification-slash.gif"> Грешка:</span>';
							
		foreach($_SESSION['ERRMSG_ARR'] as $msg) 						
			{
				echo '<li>',$msg,'</li>'; 
			}
				echo '</span>';
		unset($_SESSION['ERRMSG_ARR']);
			}
		?>
		<label>Корисничко име:</label>
		<input name="username" type="text" />
		<label>Лозинка:</label>
		<input name="password" type="password" />
			    
<label><input name="submit" type="submit" value="Улаз" /></label>
	</form>
Evo login_exec.php fajla:
PHP kôd:
//Startovanje sesije
    
session_start();
 
    
//Ukljucivanje konekcije i fajla sa funkcijama
    
require_once('connection.php');
    include (
'functions.php');
 
    
//Niz za sakupljanje gresaka
    
$errmsg_arr = array();
 
    
//Flag promenljiva
    
$errflag false;
 
    
//Dohvatanje kor.imena i lozinke
    
$username clean($_POST['username']);
    
$password md5(clean($_POST['password']));
 
    
//Provjera da li su kor.ime i lozinka uneseni
    
if($username == '') {
        
$errmsg_arr[] = 'Нисте унијели корисничко име';
        
$errflag true;
    }
    if(
$password == '') {
        
$errmsg_arr[] = 'Нисте унијели лозинку';
        
$errflag true;
    }
 
    
//Ako nije ispunjen neki od uslova redirekcija na pocetak
    
if($errflag) {
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        
session_write_close();
        
header("location: index.php");
        exit();
    }
 
    
//Trazenje korisnika
    
$qry="SELECT * FROM administracija WHERE korisnicko_ime='$username' AND lozinka='$password'";
    
$result$mysqli->query($qry) or die($mysqli->error.__LINE__);
 
    
//Provera da li je korisnik pronadjen
        
if($result->num_rows 0) {
            
//Ako je uspesno logovan
            
session_regenerate_id();
            
$member $result->fetch_assoc();
            
$_SESSION['SESS_MEMBER_ID'] = $member['ID'];
            
$_SESSION['SESS_FIRST_NAME'] = $member['korisnicko_ime'];
            
$_SESSION['SESS_LAST_NAME'] = $member['lozinka'];
            
session_write_close();
            
header("location: admin/admin.php");
            exit();
        }else {
            
//Neupsesno logovanje
            
$errmsg_arr[] = 'Корисничко име или лозинка нису пронађени';
            
$errflag true;
            if(
$errflag) {
                
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
                
session_write_close();
                
header("location: index.php");
                exit();
            }
        } 
Dakle ovo sve radi u lokalu ali na vebu ne. Greska koju mi javi je odmah ova prva na koju nailazimo a to je da nisam uneo korisnicko ime. Naravno korisnik u bazi postoji. Ako pri izvrsenju skripta pokusam da odstampam ove varijable $username i $password ne dobijem nista (kao da se $_POST metoda ne izvrsi). Ako moze neko da baci pogled bio bih mu zahvalan.
slavkan je offline   Odgovorite uz citat