Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
fanatic
Dabei seit: 12.07.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 12.07.2006 18:57
Titel
|
|
|
Hallo,
ich habe ein ähnliches Problem. Ich möchte genauso einen geschützten Bereich haben, der mit Benutzer und Passwort (aus der Datenbank) geschützt ist. Dann sollen in einem Formular die Daten geändert oder hinzugefügt werden können. Allerdings will ich dies nicht mit Sessions machen sondern will Cookies erstellen, um dann zu überprüfen, ob der Cookie existiert (wenn es funktioniert dann auch, ob der Inhalt mit dem Benutzer & PW in der DB übereinstimmen).
Mein Code ist folgender:
Code: | <?php
if($_POST['Send'])
{
$pointer = mysql_connect("localhost", "web210", "passwort");
mysql_select_db("usr_web210_1", $pointer);
if(mysql_num_rows(mysql_query("SELECT Name FROM hp_schueler WHERE Name='".stripslashes($_POST['Name'])."' AND Passwort='".stripslashes($_POST['Passwort'])."'", $pointer))==1)
{
setcookie("benutzer", $_POST['Name'], time() + 86400 * 2);
setcookie("benutzerpw", $_POST['Passwort'], time() + 86400 * 2);
mysql_query("UPDATE hp_schueler SET LetzterLogin='".date("Y-m-d H:i:s")."' WHERE Name='".stripslashes($_POST['Name'])."' AND Passwort='".stripslashes($_POST['Passwort'])."'", $pointer);
if (isset($_COOKIE['benutzer']))
{
include('edit_profil.inc.php');
//hier der geschützte Inhalt
}
else
{
"Dein Cookie ist abgelaufen oder ungültig, bitte logge dich neu ein.";
include ('connect.inc.php');
$result = mysql_query( 'SELECT * FROM hp_schueler ORDER BY NAME');
echo '<form action="formular.php?do=login" method=post><label>Name:</label><select name="Name">
<option> ------ Bitte auswählen ------ </option>';
while( $datensatz = mysql_fetch_array($result))
{
echo '<option>'.$datensatz["Name"].'</option>';
}
echo '</select><br><br><label>Passwort: </label><input maxlength="50" name="Passwort" size="10" type="text"><br> <input name="Send" value="true" type="hidden"><input type="submit" value="Login"></form>';
}
}
else
{
echo "Die Kombination aus Schüler und Passwort stimmt nicht!";
}
}
else
{
include ('connect.inc.php');
$result = mysql_query( 'SELECT * FROM hp_schueler ORDER BY NAME');
echo '<form action="formular.php?do=login" method=post><label>Name:</label><select name="Name">
<option> ------ Bitte auswählen ------ </option>';
while( $datensatz = mysql_fetch_array($result))
{
echo '<option>'.$datensatz["Name"].'</option>';
}
echo '</select><br><br><label>Passwort: </label><input maxlength="50" name="Passwort" size="10" type="text"><br><input name="Send" value="true" type="hidden"><input type="submit" name="login" value="Login"></form>';
}
?> |
Die Datei zum include edit_profil.inc.php sieht folgendermaßen aus:
Code: | <?php
$_POST['edit_bday'] = $new_bday;
$_POST['edit_groesse'] = $new_groesse;
$_POST['edit_gewicht'] = $new_gewicht;
$_POST['edit_lk1'] = $new_lk1;
$_POST['edit_lk2'] = $new_lk2;
$_POST['edit_hobbies'] = $new_hobbies;
$_POST['edit_idol'] = $new_idol;
$_POST['edit_gericht'] = $new_gericht;
$_POST['edit_film'] = $new_film;
$_POST['edit_buch'] = $new_buch;
$_POST['edit_fach'] = $new_fach;
$_POST['edit_lehrer'] = $new_lehrer;
$_POST['edit_reiseziel'] = $new_reiseziel;
$_POST['edit_stufesagen'] = $new_stufesagen;
$_POST['edit_motto'] = $new_motto;
$query = mysql_query("SELECT * FROM hp_schueler WHERE Name='".stripslashes($_POST['Name'])."' AND Passwort='".stripslashes($_POST['Passwort'])."'");
$datensatz = mysql_fetch_array($query);
$id = $datensatz["ID"];
if(! empty($_POST["Name"]))
{
if(isset($_COOKIE["benutzer"]))
{
$result = sprintf("UPDATE hp_schueler SET Geburtstag = '$new_bday' AND Groesse = '$new_groesse' AND Gewicht = '$new_gewicht' AND LK1 = '$new_lk1' AND LK2 = '$new_lk2' AND Hobbies = '$new_hobbies' AND Idol = '$new_idol' AND LEssen = '$new_gericht' AND LFilm = '$new_film' AND LBuch = '$new_buch' AND LFach = '$new_fach' AND LLehrer = '$new_lehrer' AND Reiseziel = '$new_reiseziel' AND stufesagen = '$new_stufesagen' AND Motto = '$new_motto' WHERE ID = '$id'", $new_bday, $new_groesse, $new_gewicht, $new_lk1, $new_lk2, $new_hobbies, $new_idol, $new_gericht, $new_film, $new_buch, $new_fach, $new_lehrer, $new_reiseziel, $new_stufesagen, $new_motto);
echo "Deine Angaben wurden erfolgreich übernommen!";
}
else
{
"Dein Cookie ist abgelaufen oder ungültig, bitte logge dich neu ein.";
include ('connect.inc.php');
$result = mysql_query( 'SELECT * FROM hp_schueler ORDER BY NAME');
echo '<form action="formular.php?do=login" method=post><label>Name:</label><select name="Name">
<option> ------ Bitte auswählen ------ </option>';
while( $datensatz = mysql_fetch_array($result))
{
echo '<option>'.$datensatz["Name"].'</option>';
}
echo '</select><br><br><label>Passwort: </label><input maxlength="50" name="Passwort" size="10" type="text"><br> <input name="Send" value="true" type="hidden"><input type="submit" value="Login"></form>';
}
}
echo '<form action="formular.php?do=save" method="post">
<div align="center">
<table class="border" background="profil_bg.jpg" width="500" border="0">
<tr>
<td colspan="3" valign="top"><div align="center" class="Stil11">'.$datensatz["Vorname"].' '.$datensatz["Name"].' - Profil ändern</div></td>
</tr>
<tr>
<td colspan="3" valign="top"><hr width="90%" /></td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Geburtsdatum:</span></td>
<td valign="top"><input value="'.$datensatz["Geburtstag"].'" name="edit_bday" type="text" /></td>
<td valign="top"><div align="left"><span class="Stil9">unbedingt in JJJJ-MM-TT - also zB: 1987-06-24 für den 24. Juni 1987</span></div></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Größe: </span></td>
<td valign="top"><input value="'.$datensatz["Groesse"].'" name="edit_groesse" type="text" /></td>
<td valign="top"><div align="left"><span class="Stil9">z.B.: 1,82 m</span></div></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Gewicht:</span></td>
<td valign="top"><input value="'.$datensatz["Gewicht"].'" name="edit_gewicht" type="text" /></td>
<td valign="top"><div align="left"><span class="Stil9">z.B.: 83 kg</span></div></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">1. LK:</span></td>
<td valign="top"><input value="'.$datensatz["LK1"].'" name="edit_lk1" type="text" /></td>
<td valign="top"><div align="left"></div></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">2. LK:</span></td>
<td valign="top"><input value="'.$datensatz["LK2"].'" name="edit_lk2" type="text" /></td>
<td><div align="left"></div></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Hobbies:</span></td>
<td valign="top" colspan="2"><input value="'.$datensatz["Hobbies"].'" name="edit_hobbies" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9"><label>Mein Idol:</label></span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["Idol"].'" name="edit_idol" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9"><label>Lieblings-Gericht:</label></span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["LEssen"].'" name="edit_gericht" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Lieblings-Film:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["LFilm"].'" name="edit_film" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Lieblings-Buch:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["LBuch"].'" name="edit_buch" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Lieblings-Fach:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["LFach"].'" name="edit_fach" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Lieblings-Lehrer:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["LLehrer"].'" name="edit_lehrer" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Lieblings-Reiseziel:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["Reiseziel"].'" name="edit_reiseziel" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9"><label>Was ich schon immer mal meiner Stufe sagen wollte:</label></span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["stufesagen"].'" name="edit_stufesagen" type="text" /></td>
</tr>
<tr>
<td valign="top"><span class="Stil9">Mein Motto:</span></td>
<td valign="top" colspan="2"><input size="50" value="'.$datensatz["Motto"].'" name="edit_motto" type="text" /></td>
</tr>
</table>
<br />
<input name="abschicken" type="submit" value="Abschicken">
</div>
</form>';
?> |
Der Login funktioniert soweit, allerdings werden die Daten in der Datenbank nicht geändert. Wer testen will, wie genau es aussieht: http://www.mwg007.de/formular.php mit dem Benutzer "Massenberg" und dem Passwort "passwort".
Irgendwelche Ideen, Tipps oder Anregungen?
Vielen Dank im Voraus!
Zuletzt bearbeitet von fanatic am Mi 12.07.2006 18:58, insgesamt 1-mal bearbeitet
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Do 13.07.2006 08:07
Titel
|
|
|
fanatic hat geschrieben: |
$result = sprintf("UPDATE hp_schueler SET Geburtstag = '$new_bday' AND Groesse = '$new_groesse' AND Gewicht = '$new_gewicht' AND LK1 = '$new_lk1' AND LK2 = '$new_lk2' AND Hobbies = '$new_hobbies' AND Idol = '$new_idol' AND LEssen = '$new_gericht' AND LFilm = '$new_film' AND LBuch = '$new_buch' AND LFach = '$new_fach' AND LLehrer = '$new_lehrer' AND Reiseziel = '$new_reiseziel' AND stufesagen = '$new_stufesagen' AND Motto = '$new_motto' WHERE ID = '$id'", $new_bday, $new_groesse, $new_gewicht, $new_lk1, $new_lk2, $new_hobbies, $new_idol, $new_gericht, $new_film, $new_buch, $new_fach, $new_lehrer, $new_reiseziel, $new_stufesagen, $new_motto);
echo "Deine Angaben wurden erfolgreich übernommen!";
|
Wo ist denn das mysql_query() für diesen String?
BTW:
Zitat: |
setcookie("benutzerpw", $_POST['Passwort'], time() + 86400 * 2);
|
Das ist aber ganz böse - derartige Daten sollten nie direkt im Cookie stehen!
|
|
|
|
|
Anzeige
|
|
|
|
|
|
Ähnliche Themen |
Login - Weiterleitung Scriptfehler
Login und weiterleitung auf individuelle startseite
login-bereich schützen
einfacher Login Bereich
Typo3 und individueller Login-Bereich
Login Bereich/ Newsletter/ SMS Benachrichtigung
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|