mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 14:47 Benutzername: Passwort: Auto-Login

Thema: [PHP] Login mit PHP und Weiterleitung in geschützten Bereich vom 30.08.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Login mit PHP und Weiterleitung in geschützten Bereich
Seite: Zurück  1, 2
Autor Nachricht
fanatic

Dabei seit: 12.07.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 12.07.2006 17:57
Titel

Antworten mit Zitat Zum Seitenanfang

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">&nbsp;</td>
        <td valign="top">&nbsp;</td>
        <td valign="top">&nbsp;</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&uuml;r den 24. Juni 1987</span></div></td>
      </tr>
      <tr>
        <td valign="top"><span class="Stil9">Gr&ouml;&szlig;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 17:58, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht: Männlich
Verfasst Do 13.07.2006 07:07
Titel

Antworten mit Zitat Zum Seitenanfang

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!
  View user's profile Private Nachricht senden
Anzeige
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
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Programmierung


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.