2016-05-08 11 views
1

Ich suchte, aber ich kann keine Lösung für mich finden.PHP same Sitzung Benutzeranmeldung

Ich habe login.php Datei, die Benutzer auf eine andere Seite in meinem Fall umleiten theme.php?id=".$row['log_name'].".

<?php 

include ('conn.php'); 

//Uzivatelsky vstup 
$log_meno = mysqli_real_escape_string ($Conn, $_POST['login_name']); 
$cmp_heslo = sha1($_POST['login_password']); 

$sql = "SELECT id, cmp_heslo, log_meno FROM firmy WHERE log_meno='$log_meno'"; 
$result = mysqli_query($Conn, $sql); 

if (mysqli_num_rows($result) > 0) {  
while($row=mysqli_fetch_assoc($result)) { 

     if ($cmp_heslo == $row[cmp_heslo]) 
{ 
    session_start(); 
    $_SESSION['logged'] = 'yes'; 
      echo "<script language='javascript'>window.location='comp_page/theme.php?id=".$row['log_name']."';</script>";     
} 
else 
{ 
    echo "<script language='javascript'>window.location='bad_login.php';</script>"; 
}  
    } 
} else { 
    echo "0 results"; 
} 

mysqli_close($Conn); 

?> 

theme.php

<?php 

session_start(); 
if($_SESSION['logged'] != 'yes') 
    die("You have to sign in first!"); 

?> 

In MySQL habe ich zwei Benutzer

  • kuki mit Pass kuki

  • cuki mit Pass

Meine Frage ist, wenn ich unterzeichnet habe in als kuki ich in der Adresszeile haben:

http://localhost/comp_page/theme.php?id=kuki

Aber ich brauche, wenn ich in der Adresszeile neu schreiben kuki-cuki zu Änderung zum Zugriff verweigert, da nun nur die Adressleiste geändert wurde, die Seite jedoch gleich ist. Ich bin neu in PHP.

+0

Zuerst haben Sie Zugriff verweigert Nachricht? – Fil

+0

Nein Ich muss die Meldung "Zugriff verweigert" oder etwas Ähnliches anzeigen, wenn jemand versucht, in der Adressleiste kuki in cuki umzuschreiben. Weil es jetzt aussieht, wenn ich mich als kuki anmelde, kann ich einfach addressbar umschreiben und ich werde als cuki signiert. – Majo

Antwort

0

Abgesehen davon

$ _SESSION [ 'angemeldet'] = 'yes'

in Ihrer Sitzung hat;

Ich schlage vor, Sie müssen auch so etwas hinzufügen,

$ _SESSION [ 'id'] = $ row [ 'log_name'];

und in Ihrem theme.php

session_start(); 
if($_SESSION['logged'] != 'yes') { 
    die("You have to sign in first!"); 
} else { 
if ($_SESSION['id'] == $_GET['id']) { 
    // do somthing 
} else { 
    echo "Access Denied!"; 
} 
} 

diese URL

mit

http://localhost/comp_page/theme.php?id=kuki

bedeutet, dass Sie Daten senden, die id auf dem Server mit der Methode get . Diese $_GET['id'] fangen diese Daten und haben einen Wert entweder kuki oder cuki von der URI theme.php?id=kuki oder theme.php?id=cuki.

Diese Bedingung if ($_SESSION['id'] == $_GET['id']) ermittelt, ob der Wert von id mit dem Benutzerspeicher in der Sitzung identisch ist.

+0

Vielen Dank Fil das ist genau das, was ich brauche.:) – Majo

+0

Wenn Sie diese Hilfe fühlen, überprüfen Sie bitte – Fil

+0

Ihre Begrüßung .... – Fil