Finde fehler nicht in login.php

  • Themenstarter Themenstarter ByeBye 177919
  • Beginndatum Beginndatum
also demnach (schnellschuss) >
PHP:
if (!isset($_SESSION["User"])){ 
die("Du bist nicht Eingelogt"); 
else
echo ("echo <a href="ausloglink">auslogen</a>")
}
:) ?
 
Nicht ganz zum Auslogen brauchst du nur die Session löschen. Mit session_destroy ().
Machst einfach einen Link und in der Datei löscht du die Session einfach.


Logout.php
PHP:
<?php 
ob_start (); 
session_start (); 
session_unset (); 
session_destroy (); 

header ("Location: ../index.php"); // Zur Startseite Umleiten
ob_end_flush (); 
?>

Mfg Splasch
 
Danke. das meine ich.

Der user soll ja entscheiden können ob er sich ausloggen will :)

also einfach: (für die login.php)
PHP:
<form id="form1" name="form1" method="post" action="index.php?p=login">   
  <p align="center" class="tdglobal"><span class="b01">Login</span></p>   
  <table width="200" border="0" align="center" class="liteoption">   
    <tr>   
      <td width="97" class="right"><div align="left">Username:</div></td>   
      <td width="93" class="right"><input name="user" type="text" class="liteoption" id="user" size="15" maxlength="15" /></td>   
    </tr>   
    <tr>   
      <td class="right"><div align="left">Password:</div></td>   
      <td class="right"><input name="pass" type="text" class="liteoption" id="pass" size="15" maxlength="15" /></td>   
    </tr>   
  </table>   
  <p align="center" class="tdglobal"><span class="right">   
    <input name="submit" type="submit" class="liteoption" id="submit" value="Log In" size="15" maxlength="15" />   
  </span></p>   
</form>   
<p align="center" class="tdglobal">   

<?php   
include ("cfg/config.php");   
if (!isset($_SESSION["User"])){  
if(isset($_POST['submit'])) {   
$U=mysql_escape_string ($_POST['user']);   
$P=mysql_escape_string (md5($_POST['pass']));   
$conn = mysql_connect($dbh, $dbu, $dbp); //Verbindung zur Db  
$db = mysql_select_db($db); // Dbname auswählen  

$sql = sprintf("SELECT * FROM `accounts` WHERE name='%s' and password='%s'",($U),($P));  
$query = mysql_query($sql, $conn);   
$count = mysql_num_rows($query);   

mysql_close($conn); 
    if($count == 1){   
        $_SESSION["User"]=$U; // Session Variable erstellen  
        $_SESSION["Pass"]=$P;   
        echo('Logged in.... Klick <a href=?op=user><strong>hier</strong></a><br><br>');   
        }   
        else {echo "<strong>Account ist gebannt.</strong>";}   
}   
else 
echo ("echo <a href="index.php?p=logout">auslogen</a>") 
?>
Und für jede andere page mach ich es ganz oben so >
PHP:
<?php if (!isset($_SESSION["User"])){  
die("Du bist nicht Eingelogt"); ?>
HIER HTML CODE 
ODER PHP
ODER ETC PP
right?
 
In etwa nur if (!isset($_SESSION["User"])){ würd oben hinsetzen denn wenn er ja schon Eingelogt ist braucht er ja auch nicht das Login Formular sehen.So würde er es dann nur Anzeigen wenn man nicht eingelogt ist.

Mfg Splasch
 
PHP:
<?php 
if (!isset($_SESSION["User"])){   
HIER WEIß ICH NICHT WEITER
else  
echo ("echo <a href="index.php?p=logout">auslogen</a>")
}
?>  
<form id="form1" name="form1" method="post" action="index.php?p=login">    
  <p align="center" class="tdglobal"><span class="b01">Login</span></p>    
  <table width="200" border="0" align="center" class="liteoption">    
    <tr>    
      <td width="97" class="right"><div align="left">Username:</div></td>    
      <td width="93" class="right"><input name="user" type="text" class="liteoption" id="user" size="15" maxlength="15" /></td>    
    </tr>    
    <tr>    
      <td class="right"><div align="left">Password:</div></td>    
      <td class="right"><input name="pass" type="text" class="liteoption" id="pass" size="15" maxlength="15" /></td>    
    </tr>    
  </table>    
  <p align="center" class="tdglobal"><span class="right">    
    <input name="submit" type="submit" class="liteoption" id="submit" value="Log In" size="15" maxlength="15" />    
  </span></p>    
</form>    
<p align="center" class="tdglobal">    

<?php    
include ("cfg/config.php");    
if(isset($_POST['submit'])) {    
$U=mysql_escape_string ($_POST['user']);    
$P=mysql_escape_string (md5($_POST['pass']));    
$conn = mysql_connect($dbh, $dbu, $dbp); //Verbindung zur Db   
$db = mysql_select_db($db); // Dbname auswählen   

$sql = sprintf("SELECT * FROM `accounts` WHERE name='%s' and password='%s'",($U),($P));   
$query = mysql_query($sql, $conn);    
$count = mysql_num_rows($query);    

mysql_close($conn);  
    if($count == 1){    
        $_SESSION["User"]=$U; // Session Variable erstellen   
        $_SESSION["Pass"]=$P;    
        echo('Logged in.... Klick <a href=?op=user><strong>hier</strong></a><br><br>');    
        }    
        else {echo "<strong>Account ist gebannt.</strong>";}    
}    
?>
So? Nur da wo ich es makiert habe "hier weiß ich nicht weiter", wüsste ich jetzt nicht was ich da rein schreiben soll. Da er doch dann da oben hängen bleibt oder nicht?
 
hmm würde das nur ein bisschen umstellen

PHP:
<?php 
if (!isset($_SESSION["User"])){   

?>  
<form id="form1" name="form1" method="post" action="index.php?p=login">    
  <p align="center" class="tdglobal"><span class="b01">Login</span></p>    
  <table width="200" border="0" align="center" class="liteoption">    
    <tr>    
      <td width="97" class="right"><div align="left">Username:</div></td>    
      <td width="93" class="right"><input name="user" type="text" class="liteoption" id="user" size="15" maxlength="15" /></td>    
    </tr>    
    <tr>    
      <td class="right"><div align="left">Password:</div></td>    
      <td class="right"><input name="pass" type="text" class="liteoption" id="pass" size="15" maxlength="15" /></td>    
    </tr>    
  </table>    
  <p align="center" class="tdglobal"><span class="right">    
    <input name="submit" type="submit" class="liteoption" id="submit" value="Log In" size="15" maxlength="15" />    
  </span></p>    
</form>    
<p align="center" class="tdglobal">    

<?php    
include ("cfg/config.php");    
if(isset($_POST['submit'])) {    
$U=mysql_escape_string ($_POST['user']);    
$P=mysql_escape_string (md5($_POST['pass']));    
$conn = mysql_connect($dbh, $dbu, $dbp); //Verbindung zur Db   
$db = mysql_select_db($db); // Dbname auswählen   

$sql = sprintf("SELECT * FROM `accounts` WHERE name='%s' and password='%s'",($U),($P));   
$query = mysql_query($sql, $conn);    
$count = mysql_num_rows($query);    

mysql_close($conn);  
    if($count == 1){    
        $_SESSION["User"]=$U; // Session Variable erstellen   
        $_SESSION["Pass"]=$P;    
        echo('Logged in.... Klick <a href=?op=user><strong>hier</strong></a><br><br>');    
        }    
        else {echo "<strong>Account ist gebannt.</strong>";}    
}  
} else{   
echo ("echo <a href="index.php?p=logout">auslogen</a>")
}  
?>
 
Zuletzt bearbeitet:
Danke! :)

Es klappt alles.

Ich bedanke mich an alle herzlich für die Hilfe :rolleyes:

Ich werde mich sicher bald wieder melden ;D
 
Zurück