Servus,
und erstma Sorry. Ich weiß, dass dieses Thema schon mehrmals besprochen wurde. Ich habe auch ziemlich viel bei google nachgeguckt und hie **schviel gelesen, doch nichts hat mir weitergeholfen.
Achja, vielleicht liegt es ja daran, dass ich en Php-newbie bin .
Erst hab ich versucht selber meine Idee zu verwirklichen, hab mich dann doch für einen fremden Script entschieden. Unzwar einen von php-resource ..Hab leider keine Ahnung wo dieser genau zu finden ist.
Mein Problem ist, dass egal was ich mache eine Fehlermeldung erscheint. Das Login-Formular wird vollständig angezeigt, auch links und die dann entsprechende Formulare. Doch wenn man etwas abschickt erscheint eine Fehlermeldung :
bei Login
und Unbekannter Benutzername erscheint obwohl ich den Benutzer manuell eingefügt habe.
naja eine Anzeige des Fehlers durch "or die" sagt dann "No Database Selected".
ich flipp gleich aus. Hab schon einiges ausprobiert, doch es will einfach nicht funktionieren.
Wo kann das Problem liegen?
Was hat es mit "global" auf sich?
bitte helft mir.
MFG
testarrow
Index.php
UND
und erstma Sorry. Ich weiß, dass dieses Thema schon mehrmals besprochen wurde. Ich habe auch ziemlich viel bei google nachgeguckt und hie **schviel gelesen, doch nichts hat mir weitergeholfen.
Achja, vielleicht liegt es ja daran, dass ich en Php-newbie bin .
Erst hab ich versucht selber meine Idee zu verwirklichen, hab mich dann doch für einen fremden Script entschieden. Unzwar einen von php-resource ..Hab leider keine Ahnung wo dieser genau zu finden ist.
Mein Problem ist, dass egal was ich mache eine Fehlermeldung erscheint. Das Login-Formular wird vollständig angezeigt, auch links und die dann entsprechende Formulare. Doch wenn man etwas abschickt erscheint eine Fehlermeldung :
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/anton4president/index.php on line 173
Unbekannter Benutzername!
und Unbekannter Benutzername erscheint obwohl ich den Benutzer manuell eingefügt habe.
naja eine Anzeige des Fehlers durch "or die" sagt dann "No Database Selected".
ich flipp gleich aus. Hab schon einiges ausprobiert, doch es will einfach nicht funktionieren.
Wo kann das Problem liegen?
Was hat es mit "global" auf sich?
bitte helft mir.
MFG
testarrow
Index.php
PHP:
<?
# Hier ggf. den Header einfügen!
if ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);}
else if ($abmelden) { abmelden($fertig, $user, $password);}
else if ($forgot) { forgot($fertig, $email);}
else { login($fertig, $user, $password);}
# hier ggf. den Footer einfügen!
?>
<?
function inhalt($user)
{
session_start();
session_register("user");
##################################
#Bauen Sie hier Ihren Inhalt ein!#
# #
?>
<b>Geschützter Inhalt!</b>
<?
# #
# Ab hier nichts mehr ändern! #
##################################
}
?>
<?
function login($fertig, $user, $password)
{
include("config.php");
if ($fertig) {
$sql = "SELECT * FROM login WHERE user = '$user'";
$abfrage = mysql_query ($sql);
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
inhalt($user);
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!";
echo "<p><h2>Login</h2></p>";
echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr>
<td><font size="2">Benutzername:</font></td>
<td><font size="2"><input type="text" name="user" value=""> </font></td>
</tr>
<tr>
<td><font size="2">Passwort:</font></td>
<td><font size="2"><input type="password" name="password" value=""></font></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value=Login></td>
</tr>
</table>
</form>
<?
echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Abmelden</a></p>";
}
}
?>
<?
function anmelden ($fertig, $user, $password1, $password2, $email)
{
include("config.php");
if($fertig) {
$abfrage1 = mysql_query("SELECT user FROM login");
while ($row = mysql_fetch_object ($abfrage1)) {
if ($row->user==$user) {
echo "Dieser Benutzer existiert schon!";
exit;
}
}
if ($user=="" OR $password1=="" OR $password2=="" or $email=="") {
echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
}
else if ($password1!=$password2) {
echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
}
else {
$anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')");
echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>";
@login();
}
}
else {
echo "<h2>Anmelden</h2>";
echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr>
<td><font size="2">Benutzername:</font></td>
<td><font size="2"><input type="text" name="user" value=""> </font></td>
</tr>
<tr>
<td><font size="2">Passwort:</font></td>
<td><font size="2"><input type="password" name="password1" value=""></font></td>
</tr>
<tr>
<td><font size="2">Wiederholen:</font></td>
<td><font size="2"><input type="password" name="password2" value=""></font></td>
</tr>
<tr>
<td><font size="2">E-Mail:</font></td>
<td><font size="2"><input type="text" name="email" value=""> </font></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value=Anmelden></td>
</tr>
</table>
</form>
<?
}
}
?>
<?
function forgot ($fertig, $email)
{
include("config.php");
if ($fertig) {
$abfrage=mysql_query("SELECT * FROM login");
while ($row = mysql_fetch_object ($abfrage)) {
if ($email==$row->email) { $ismail="true"; }
}
if ($ismail=="true") {
$password=mysql_query("SELECT * FROM login WHERE email = '$email'");
while ($row = mysql_fetch_object ($password)) {
$nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin";
}
mail($email, "Passwort", $nachricht, "From: Administrator");
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>
<?
@login();
}
else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";}
}
else {
echo "<p><h2>Passwort vergessen</h2><p>";
echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr>
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr>
</table></form></p>
<?
}
}
?>
<?
function abmelden($fertig, $user, $password)
{
include ("config.php");
if($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'");
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
echo "<p><h2>Abmelden</h2></p>";
echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr>
<td><font size="2">Benutzername:</font></td>
<td><font size="2"><input type="text" name="user" value=""> </font></td>
</tr>
<tr>
<td><font size="2">Passwort:</font></td>
<td><font size="2"><input type="password" name="password" value=""></font></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value=Abmelden></td>
</tr>
</table>
</form>
<?
}
}
?>
UND
PHP:
<?
$server = "localhost";
$benutzer = "anton4president";
$passwort = "*****************";
$datenbank = "login";
mysql_connect($server,$benutzer,$passwort);
mysql_select_db($datenbank);
?>