Hallo zusammen..
wie schon in der MySql-Ecke angekündigt, möchte ich hier gerne mein kleines Script posten, das ich zu Test - und vorallem zu Lernzwecken zusammengebaut habe.
es handelt sich dabei einfach darum, mit MySql und PHP umgehen zu lernen. Design spielt hier keine Rolle.
Ich habe versucht, mit schlichten Wegen ein kleines Login-Script zu taufen..
Angenommen, Ihr habt Zeit dieses zu analysieren mit Eurem Profi-Auge, wäre es für mich sehr hilfreich über Aussagen von schwerwiegenden Fehlern und Dinge, die vielleicht bei mir bei Testen zufällg funktionierten, doch im Grunde "minusNull" sind...
EDIT: CODE in PHP-Code (schön farbig..

)
Die Seiten: inc/config.php
registrieren.php
register_save.php
einloggen.php
login.php
profil.php
optionen_eintragen.php
save_optionen.php
logout.php
die Templates (poste den Code hier nicht)
temp_registrieren.php
temp_einloggen.php
temp_profil.php
temp_optionen_eintragen.php
inc/config.php: PHP-Code:
<?php
error_reporting(E_ALL);
// Verbindung zur Datenbank
$db_server = 'localhost';
$db_name = 'link';
$db_user = 'link';
$db_passwort = 'xxx';
$db = mysql_connect( $db_server, $db_user, $db_passwort )
or die ('es konnte keine Verbindung mit der Datenbank aufgebaut werden');
$db_select = mysql_select_db( $db_name );
?>
registrieren.php PHP-Code:
<?php
session_start();
if ($_SESSION["benutzer_id"] == true)
{
echo "
";
echo "Sie sind bereits eingeloggt";
}
else
{
require_once("temp_registrieren.php");
}
?>
register_save.php PHP-Code:
<?php
include ("inc/config.php");
// EINTRAG IN DIE DATENBANK
$benutzername = $_POST['benutzername'];
$passwort = $_POST['passwort'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$email = $_POST['email'];
$land = $_POST['land'];
// PRUEFEN OB BENUTZERNAME SCHON VORHANDEN
$pruefung = "SELECT * FROM benutzer";
$pruef = mysql_query($pruefung) or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $pruefung . ", Fehlermeldung: " . mysql_error());
$vergleich = mysql_fetch_array($pruef);
if ($benutzername == $vergleich['benutzername'])
{
echo "Benutzername schon vergeben.";
echo "
";
echo "Bitte wählen Sie einen anderen Benutzernamen";
echo "
";
echo '[url="javascript:history.go(-1)"]>>ändern <<[/url]';
}
else
{
// FELDER PRUEFEN
if ($benutzername == true
AND
$passwort == true
AND
$vorname == true
AND
$nachname == true
AND
$email == true
AND
$land == true)
{
$eintrag_b = "INSERT INTO benutzer (benutzername, passwort, vorname, nachname, email, land) VALUES ('$benutzername', '$passwort', '$vorname', '$nachname','$email', '$land')";
$eintragen = mysql_query($eintrag_b) or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $eintrag . ", Fehlermeldung: " . mysql_error());
echo "Die Registrierung war erfolgreich.";
echo '[url="profil.php"]weiter[/url]';
}
else
{
echo "Bitte füllen Sie alle Felder aus";
echo "
";
echo '[url="javascript:history.go(-1)"]>>nochmals versuchen <<[/url]';
}
}
?>
einloggen.php PHP-Code:
<?php
session_start();
if ($_SESSION["benutzer_id"] == true)
{
echo "
";
echo "Sie sind bereits eingeloggt";
}
else
{
require_once("temp_einloggen.php");
}
?>
login.php PHP-Code:
<?php
include ("inc/config.php");
if ($_POST['benutzername'] == true AND $_POST['passwort'] == true)
{
$benutzername = $_POST['benutzername'];
$passwort = $_POST['passwort'];
// ABFRAGE DATENBANK
$benutzer = "SELECT * FROM benutzer WHERE benutzername = '$benutzername' ";
$result = mysql_query($benutzer)or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $benutzer . ", Fehlermeldung: " . mysql_error());
$uebereinstimmung = mysql_fetch_array($result);
}
if ($_POST['benutzername'] == $uebereinstimmung['benutzername'] AND $_POST['passwort'] == $uebereinstimmung['passwort'])
{
echo "
";
echo "Benutzerdaten vorhanden";
session_start();
$benutzer_id = $uebereinstimmung['id'];
$_SESSION["bname"] = $benutzername;
$_SESSION["passwort"] = $passwort;
$_SESSION["benutzer_id"] = $benutzer_id;
echo "
";
echo '[url="profil.php"]>>zum Profil <<[/url]';
echo "
";
echo "
";
echo "Für Testzwecke";
echo "
";
echo "ausgelesener Benutzername: $benutzername";
echo "
";
echo "ausgelesenes Passwort: $passwort";
echo "
";
echo "ausgelesene Benutzer-ID: $benutzer_id";
echo "
";
}
else
{
echo "Benutzerdaten ungültig";
echo "
";
echo '[url="javascript:history.go(-1)"]>>nochmals versuchen <<[/url]';
echo "
";
echo "
";
echo "keine Session aufgezeichnet";
echo "
";
}
// DATENBANK SCHLIESSEN
$db_close = mysql_close ( $db );
if ( $db_close )
{
echo "
";
echo 'Verbindung zur Datenbank geschlossen';
echo "
";
}
else
{
echo 'Konnte Verbindung zur Datenbank nicht schliessen';
}
?>
profil.php PHP-Code:
<?php
include ("inc/config.php");
session_start();
// DATENBANKABFRAGE
if ($_SESSION == true)
{
$babfrage = "SELECT * FROM benutzer WHERE id = '".$_SESSION['benutzer_id']."'";
$myprofil = mysql_query($babfrage) or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $babfrage . ", Fehlermeldung: " . mysql_error());
$pzeile = mysql_fetch_array($myprofil);
require_once("temp_profil.php");
echo "
";
echo 'session ist mit '.$_SESSION["bname"].' und '.$_SESSION["benutzer_id"].' und '.$_SESSION["passwort"].' gefüllt';
// ZUM USER GEHOEREN
$c_abfrage = "SELECT * FROM benutzer_optionen WHERE benutzername = '".$_SESSION['bname']."'";
$myoption = mysql_query($c_abfrage) or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $c_abfrage . ", Fehlermeldung: " . mysql_error());
while ($bo_zeile = mysql_fetch_array($myoption))
{
echo '<p align="center">';
echo "
";
echo "Ihre dazugehörenden Optionen:";
echo "
";
echo "<table>";
echo "<tr>";
echo '<td width="100px">';
echo "ID OPTION ";
echo "</td>";
echo '<td width="100px">';
echo ''. $bo_zeile['benutzer_id'].'';
echo "</td>";
echo "</tr>";
echo "<tr>";
echo '<td width="100px">';
echo "BENUTZERNAME ";
echo "</td>";
echo '<td width="100px">';
echo ''. $bo_zeile['benutzername'].'';
echo "</td>";
echo "</tr>";
echo "<tr>";
echo '<td width="100px">';
echo "DATUM ";
echo "</td>";
echo '<td width="100px">';
echo ''. $bo_zeile['datum'].'';
echo "</td>";
echo "</tr>";
echo "<tr>";
echo '<td width="100px">';
echo "WEBSITE ";
echo "</td>";
echo '<td width="100px">';
echo ''. $bo_zeile['webseite'].'';
echo "</td>";
echo "</tr>";
echo "</table>";
}
}
else
{
echo "bitte loggen sie sich ein";
}
echo "</p>";
?>
optionen_eintragen.php PHP-Code:
<?php
session_start();
if ($_SESSION["benutzer_id"] == true)
{
require_once("temp_optionen_eintragen.php");
}
else
{
echo "
";
echo "Sie sind nicht eingeloggt";
echo "
";
require_once("temp_einloggen.php");
}
?>
save_optionen.php PHP-Code:
<?php
include ("inc/config.php");
session_start();
// UEBERGABE / ABFRAGE OB EINGELOGGT
$webseite = $_POST['webseite'];
if ($_SESSION == true)
{
$benutzername = $_SESSION["bname"];
$benutzer_id = $_SESSION["benutzer_id"];
$datum = date("d.m.Y");
echo "
";
echo 'Sie sind eingeloggt als '.$_SESSION["bname"].'';
echo "
";
echo 'Ihre Benutzer-ID ist '.$_SESSION["benutzer_id"].'';
echo "
";
echo "
";
// EINTRAG IN "BENUTZER_OPTIONEN"
$eintrag_bo = "INSERT INTO benutzer_optionen (webseite, benutzername, datum, benutzer_id) VALUES ('$webseite', '$benutzername', '$datum', '$benutzer_id')";
$eintragen = mysql_query($eintrag_bo) or die("Fehler in Zeile " . __LINE__ . " in der Abfrage " . $eintrag . ", Fehlermeldung: " . mysql_error());
echo "Optionen erfolgreich eingetragen";
echo "
";
echo '[url="profil.php"]weiter[/url]';
}
else
{
echo "Sie sind nicht eingeloggt";
echo "
";
echo '[url="einloggen.php"]Einloggen[/url]';
echo "
";
}
// DATENBANK SCHLIESSEN
$db_close = mysql_close ( $db );
if ( $db_close )
{
echo "
";
echo 'Verbindung zur Datenbank geschlossen';
echo "
";
}
else
{
echo 'Konnte Verbindung zur Datenbank nicht schliessen';
}
?>
logout.php PHP-Code:
<?php
session_start();
session_unset();
echo "sie haben sich erfolgreich ausgeloggt";
echo "
";
echo '[url="profil.php"]>>zum Profil <<[/url]';
echo "
";
?>
Vielen Dank im voraus..
Gruss Prinzli