Login Verweis.

goto;

Erfahrenes Mitglied
Wünsche Guten Morgen.stehe gerade wieder vor einem Rätsel.
Unzwar habe ich einen Loginbereich, wenn man seine Benutzerdaten nun eingibt und diese Korekt sind wird man auf eine Seite "intern.php" verwiesen. Dieses öffnet in einem iframe. Wenn man aber nun die falschen Daten eingibt. Habe ich mir ein Popup gebastelt das eigentlich mitten auf dem Bildschirm Angezeigt werden sollte. Aber es wird trtozdem in dem iframe eingebunden. Und da bekomme ich es auch nicht wirklich raus. Der Verweis zum Iframe wirkt schon direkt auf der Index.php. Hab schon Versucht in der Datei "falsch.php" ( auf die man geleitet wird wenn das pw o. name falsch sind) target zu setzen aber ohne erfolg. gibt es noch eine möglichkeit dieses aus dem frame zu bekommen?
Gruß
 
warum arbeitest du mit Frames und nicht mit include?
Das is doch viel einfacher.

Aber davon mal abgesehen brauchen wir dein Quelltext um zu sehen, wo der Fehler liegt. (Bitte kein Chaosquelltext Posten)

Also Datei intern.php - index.php - falsch.php
 
Hallo, ja das hatte ich versucht, aber ohne erfolg, wollte ja nicht sofort los nerven und was entsprechendes hab ich nicht wirklich gefunden. Hab es jetzt einfach nochmal versucht mit includes..und siehe da. es geht :) wunderbar, Vielen Dank für den Tipp. Frohes Fest noch.
 
hm. wohl doch nicht. Habe auf der Index Seite jetzt ein include auf die Seite gemacht wo man die Daten eingibt "daten.php" von dort aus werden die daten per submit auf die "login.php" geschoben...und die prüft dann ob die daten stimmen -->"intern.php" oder falsch sind "falsch.php".. Problem ist nur. Er leitet mich dann auf eine neue seite. Irgendwo ist ein Denkfehler :(

Index.php
Code:
<? include ("daten.php"); ?>

login.php
Code:
<?php
// Session starten
session_start ();

// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "root", "");
if (!mysql_select_db ("loginsystem", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

$Username = $_REQUEST["Username"];
$Userpasswort = $_REQUEST["Userpasswort"];
$TableLogin = "users";


$sql = "SELECT * FROM users WHERE Username like '$Username' AND Userpasswort='$Userpasswort'";
$result = mysql_query ($sql) or die(mysql_error());


mysql_query("UPDATE $TableLogin SET LetzterLogin='".date("Y-m-d H:i:s")."' WHERE Username='".stripslashes($_REQUEST['Username'])."' AND Userpasswort='".stripslashes($_REQUEST['Userpasswort'])."'", $connectionid);

if (mysql_num_rows ($result) > 0)

{
  // Benutzerdaten in ein Array auslesen.
  $data = mysql_fetch_array ($result);

  // Sessionvariablen erstellen und registrieren
  $_SESSION["Username"]                 = $data["Username"];
  $_SESSION["Userpasswort"]             = $data["Userpasswort"];
  $_SESSION["EMail"]                    = $data["EMail"];
  $_SESSION["Vorname"]                  = $data["Vorname"];
  $_SESSION["Nachname"]                 = $data["Nachname"];
  $_SESSION["Signatur"]                 = $data["Signatur"];
  $_SESSION["Geburtstag"]               = $data["Geburtstag"];
  $_SESSION["Wohnort"]                  = $data["Wohnort"];
  $_SESSION["Erstellt"]                 = $data["Erstellt"];
  $_SESSION["LetzterLogin"]             = $data["LetzterLogin"];

  header ("Location: intern.php");
}
else
{
  header ("Location: falsch.php?fehler=1");
}
?>

intern.php

Code:
<?php
include ("checkuser.php");
?>
<style type="text/css">
div
{
font-family:times;
fontsize:14;
background-color:#0B081A;
width:400px;
Height:150px;
}
.div1
{
border:0px;
left:10px;top:50px;
-moz-border-radius:30px;
-khtml-border-radius:30px;
}
</style>
<html>
<head>
</head>
<body>
<div class="div1">
</div>


<table width="20%" border="0" cellpadding="0" cellspacing="0" style="position:absolute; top: 15px; left: 25px; width: 368px; height: 80px; color:#08F612; font-size: .8em; Font-family: times"; >
 <tr>
  <td><u>Dein letzter Besuch war am:<?php echo $_SESSION["LetzterLogin"]; ?></u></td>
 </tr>
  <tr>
  <td><u>Private Nachrichten</u></td>
 </tr>
  <tr>
  <td><u>Profil bearbeiten</u></td>
 </tr>
  <tr>
  <td><u>Kontrollzentrum</u></td>
 </tr>
   <tr>
  <td><a href="logout.php">Ausloggen</a></td>
 </tr>
</table>
</body>
</html>

falsch.php

Code:
<head>
<?php
if ($_GET['fehler']==1)
{
 echo ('<link rel="stylesheet" type="text/css" href="popupan.css">');
}
else
{
echo ('<link rel="stylesheet" type="text/css" href="popupaus.css">');
}
?>
</head>


</body>
</html>
<div id="popup" style="position:absolute; top: 100px; left: 10px; width: 200px; height: 100px;" >
<div id="close"><a href="popupaus.css">X</a></div>
<div id="close"><a href="popupaus.css"><input type="button" style="position:absolute; top: 70px; right: 80px;" value="Ok"> </a></div>
<a>Benutzername oder Passwort falsch!</a>
</div>

daten.php
Code:
<form action="login.php" method="post" target="_self" >
          <input type="text" name="Username" size="20" style="position: absolute; top: 186px; left: 17px;" onfocus="inputChange(this, '')" value="Benutzername">
          <input type="password" name="Userpasswort" value="Kennwort" size="20" style="position: absolute; top: 186px; left: 150px;"onfocus="inputChange(this, '')" >
          <input type="submit" value="Login" style="position: absolute; top: 185px; left: 285px;">
</form>
 
Zuletzt bearbeitet:
Bei den Geposteten Abschnitten habe ich kein Fehler gefunden.

Poste mal deine Datei: checkuser.php

Ich denke mal, dass der Fehler darin liegen wird.
 
ok, da ist Sie. An sich verweist diese ja nur zurück auf "intern.php" falsch?
Code:
<?php
session_start ();
if (!isset ($_SESSION["Username"]))
{
  header ("Location: intern.php");
}
?>
 
Okay... Ich erkläre mal deine Datei und du sagst mir mal was daran falsch ist.

PHP:
<?php
session_start ();
if (!isset ($_SESSION["Username"]))  // <-- Wenn es NICHT die Session "Username" ist, dann gehe zu intern.php
{
  header ("Location: intern.php");
}
?>

PHP:
<?php
session_start ();
if (isset ($_SESSION["Username"])) //<--- Verbesserung: Wenn es die Session "Username" ist, dann gehe zu intern.php
{
  header ("Location: intern.php");
}
else
{
 header("Location: daten.php");
}
?>
 
an sich stimmt alles. Es ist halt nur das Problem das ich von iframe zum include gewechselt habe und jetzt wenn ich einloggen will. auf eine neue seite geleitet werden. was vorher in dem frame geladen wurde :S
 
Ich verstehe den Sinn dahinter nicht, den du mir gerade versuchst zu erklären.
Also wenn du dich einloggst und die Daten richtig waren, kommst du auf die Seite "intern.php". Soweit ist doch alles richtig oder irre ich mich da?
 
Der Ablauf ist Korrekt. Nur die ausführung nicht, wie gesagt hatte ich vorher ein iframe wo mir der Inhalt auf der Index.php zusätzlich angezeigt wurde. Nun will ich aber das er mir "intern.php" direkt auf der index seite anzeigt aber ohne iframe. Kann man das realisieren? das war meine frage. Hoffe ist verständlich.
 
Zurück