Frame Verweis
kanute1
- html
0 gast_420 Encoder0 Matthias Apsel
Moin
Ich bin derzeit mit ein paar Klassenkameraden dabei eine eigene Website aus HTML und PHP zuerstellen.
Jetzt wollen wir diese Strukturieren. Der Header mit der Navigation soll dauerhaft bleiben, nur der Content soll sich ändern. Soweit läuft auch alles ohne Probleme. Jetzt haben wir aber eine LogIn Maske in der ein Registrations Button eingebunden ist. Dieser verlinkt auf eine Registrierung.php. Wir bekommen diese aber nicht in das frameset eingebunden.
Die Seite wird immer ohne den Header mit der Navigation angezeigt. Ich hoffe jemande weiß wie ich diesen Fehler beheben kann.
Schon einmal einen Dank im vorraus
kanute1
login.php
<head>
<title>Login</title>
</head>
<body bgcolor="#C0C0C0" link="#FFFFFF" vlink="#000080" alink="#000000">
<center><hr><h1>Bitte melden Sie sich an: </h1></center>
<Form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<center>Nickname: <input type="text" name="nick" size="16"><br>
Passwort: <input type="password" name="pw" size="16"><br><br>
<input type="submit" name="gesendet" value="Anmelden">
<input type=button onClick="parent.location='http://127.0.0.1/balzer/public/registrierung.php'" value='Zur Registration'>
</center>
</Form>
<?php
If(isset($_POST['gesendet']))
{
$nickname=$_POST['nick'];
$passwort=$_POST['pw'];
if ($nickname == "" or $passwort == "")
{
echo "<center>Bitte fülle alle Felder aus.</center>" ;
}
$db_server='127.0.0.1';
$db_user='root';
$db_passwort='realschule1';
$db_name='balzer';
//mit der Datenbank verbinden
$verbindung=mysql_connect($db_server,$db_user,$db_passwort);
if(!$verbindung)
die("Der kann nicht erreicht werden.");
if(!mysql_select_db($db_name,$verbindung))
die("Die Datenbank kann nicht angesprochen werden.");
$query=sprintf("Select * from account where nickname = '%s'", $nickname);
$ergebnis=mysql_query($query,$verbindung);
if(mysql_num_rows($ergebnis)==0)
{
die("<center><h2>Dieser Account existiert nicht");
}
while ($zeile = mysql_fetch_array( $ergebnis, MYSQL_ASSOC))
{
$pw =$zeile['passwort'];
if($pw != $passwort)
{
die("<center>Das Passwort ist falsch</center>");
}
else
{
echo "<center><h3>Du hast dich erfolgreich eingeloggt.</h3></center>";
echo header('Location: http://127.0.0.1/balzer/session/login_home.php');
session_start();
$_SESSION['Nutzer']=$nickname;
}
}
}
?>
<hr>
</body>
</html>
header.html
<head>
<title>Gameshop</title>
</head>
<body bgcolor="#C0C0C0" link="#FFFFFF" vlink="#000080" alink="#000000">
<center><img src="http://127.0.0.1/balzer/images/banner.jpg" width="1220" height="160" alt="" /></center><hr>
<center><a href="http://127.0.0.1/balzer/public/home.html" target="Daten"><img src="http://127.0.0.1/balzer/images/home.png" width="150" height="36" alt="" /></a>
<a href="http://127.0.0.1/balzer/public/preisliste.html" target="Daten"><img src="http://127.0.0.1/balzer/images/preisliste.png" width="150" height="36" alt="" /></a>
<a href="http://127.0.0.1/balzer/public/login.php" target="Daten"><img src="http://127.0.0.1/balzer/images/login.png" width="150" height="36" alt="" /></a>
<a href="http://127.0.0.1/balzer/public/impressum.html" target="Daten"><img src="http://127.0.0.1/balzer/images/impressum.png" width="150" height="36" alt="" /></a></center>
</html>
registrierung.php
<head>
</head>
<body bgcolor="#C0C0C0" link="#FFFFFF" vlink="#000080" alink="#000000">
<center><h1>Füllen Sie hier unser Registrierungsformular aus:</h1></center>
<Form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<center>Nickname: <input type="text" name="nick" size="16"><br>
Passwort: <input type="password" name="pw" size="16"><br>
Passwort Wiederholen: <input type="password" name="pwwd" size="16"><br><br>
Name: <input type="text" name="name" size="16"><br>
Vorname: <input type="text" name="vorname" size="16"><br><br>
Wohnort: <input type="text" name="ort" size="16"><br>
Adresse: <input type="text" name="adresse" size="16"><br>
Hausnummer: <input type="text" name="hsnr" size="16"><br>
<input type="submit" name="gesendet" value="Registrieren"><br><br>
</center>
<?php
If(isset($_POST['gesendet']))
{
$nickname=$_POST['nick'];
$passwort=$_POST['pw'];
$passwortwd=$_POST['pwwd'];
$name=$_POST['name'];
$vorname=$_POST['vorname'];
$wohnort=$_POST['ort'];
$adresse=$_POST['adresse'];
$hausnummer=$_POST['hsnr'];
if ($nickname == "" or $passwort == "" or $name == "" or $vorname == "" or $wohnort == "" or $adresse == "" or $hausnummer == "")
{
echo "<h1><center>Bitte fülle alle Felder aus!</h1></center><br>" ;
}
if ($passwort != $passwortwd)
{
die ("<center>Bitte korrigieren Sie das Passwort</center>");
}
$db_server='127.0.0.1';
$db_user='root';
$db_passwort='realschule1';
$db_name='balzer';
//mit der Datenbank verbinden
$verbindung=mysql_connect($db_server,$db_user,$db_passwort);
if(!$verbindung)
die("Der kann nicht erreicht werden.");
if(!mysql_select_db($db_name,$verbindung))
die("Die Datenbank kann nicht angesprochen werden.");
//Neuen Account anlegen
$query=sprintf("INSERT INTO account
SET nickname='%s',
passwort='%s',
name='%s',
vorname='%s',
wohnort='%s',
adresse='%s',
hausnummer='%s'",
$nickname,$passwort,$name,$vorname,$wohnort,$adresse,$hausnummer);
$ergebins = mysql_query($query,$verbindung);
}
?>
</body>
</html>
index.html
<html>
<head>
<title>Gameshop</title>
</head>
<frameset border="5" frameborder="5" framespacing="5" rows="24%,76%">
<frame name="Navigation" src="http://127.0.0.1/balzer/public/header.html" target="Daten" noresize="noresize" scrolling="no" >
<frame src="http://127.0.0.1/balzer/public/home.html" noresize="noresize" name="Daten">
<frame src="http://127.0.0.1/balzer/public/registrierung.php" noresize="noresize" name="reg">
</frameset>
</html>
Diese Zeile (vor allem das Wort "parent")
<input type=button onClick="parent.location='http://127.0.0.1/balzer/public/registrierung.php'" value='Zur Registration'>
bewirkt das sich die angeforderte Seite im übergeordneten Fenster/Frame öffnet.
Öffnung in diesem Fenster/Frame: parent weglassen
Irgendjemand wird das bald sowieso feststellen: Macht doch ein Projekt das nicht aus dem vorigen Jahrtausend stammt.
Wenn ihr schon mit php arbeitet, warum lasst ihr dann nicht Frames weg und bindet die Navigation pro Seite ein?
Umlaute "escapen" muss man auch schon längst nicht mehr.
Om nah hoo pez nyeetz, kanute1!
> $db_server='127.0.0.1';
> $db_user='root';
> $db_passwort='realschule1';
> $db_name='balzer';
Abgesehen davon, dass realschule1 ein sehr unsicheres Passwort ist, solltest du deine Passwörter unter gar keinen Umständen veröffentlichen.
Matthias