Password immer wieder eingeben

  • Themenstarter Themenstarter L4seR
  • Beginndatum Beginndatum
L

L4seR

Moin,

hab ein problem und zwar muss ich jedesmal wenn ich mein newsscript aufrufe mein passwort eingeben <-- ist ja normal

aber wenn ich dann meine news eingetragen habe und auf meine zurück funktion gehe um eine weitere news einzutragen muss ich wieder mein passwort eingeben
wie kann ich das ändern hoffe ihr könnt mir helfen


mfg
Alex
 
Stell eine Kristallkugel auf den Server, auf dieser bringst du eine rote Kerze an die du anzündest und danach dreimal mit der Hand durch die Flamme fährst.

Oder, die vermutlich bessere Lösung. Du erzählst uns mal welches Script du meinst, und zeigst es am besten auch gleich mal her. Weil wir hier keine Kristallkugeln mehr haben.:(
 
kk sry hätte ich ja gleich mal machen können...

PHP:
<?php

//Vorgabe Login-Daten leeren

$login = array();

//Vorgabe Login-Daten setzen

$login['user] = "pw";
$login['user'] = "pw";
$login['user'] = "pw";

$user = $_POST['user'];

//passwort aus Postdata entnehmen

$pass = $_POST['pass'];

//Verschlüsslungsbefehl aus Postdata übernehmen

$md = $_POST['md'];

//Titel aus Postdata entnehmen

$title = $_POST['title'];

//Text aus Postdata entnehmen

$text = $_POST['text'];



//Passwort nach Übergabe Verschlüsseln

if($md == "true"){

 //Nur verschlüsseln wenn gesetzt

 if(isset($pass)){

  //Verschlüsseln

  $pass = md5($pass);

 }

}



//Login ablauf nur wenn Login-Paar gesetzt ist

if(isset($user)&&isset($pass)){
if($login[$user]== md5($pass)){

  //Eintragung nur bei gesetztem Titel und Inhalt

  if(isset($title)&&isset($text)){
   //Datei auswählen

   $datei = "news.txt";

   //Datei öffnen wenn möglich

   $gdatei = fopen($datei, "r+") or exit('Die Newsseite konnte nicht erreicht werden wir bitten um Ihr Verständniss');



   //flock($gdatei, LOCK_EX) or die('$gdatei kann nicht gepserrt werden...');

   $inhalt = fread($gdatei, filesize($datei));

   //Zum Anfang der Datei springen

   rewind($gdatei);

   //Datum setzen

   $datum = date("d.m.Y");

   //Text formatiert eintragen, die Formatierungen können auch geändert werden..

   fwrite($gdatei, "<p align=\"center\">");

   fwrite($gdatei, "<hr width=\"80%\">");
   
   fwrite($gdatei, "<p align=\"center\">");

   fwrite($gdatei, "<table width=\"80%\"><tr><td><b>$title</b> ($datum) </td>");

   fwrite($gdatei, "<td align=\"right\"><b>$user</b></td></tr><tr><td>");

   fwrite($gdatei, "$text");

   fwrite($gdatei, "</td></tr></table><br />");

   fwrite($gdatei, "\n \n");

   //ursprünglichen Inhalt anfügen

   fwrite($gdatei, "$inhalt");

   echo "DONE - Die News wurde erfolgreich eingetragen.";
   echo "<p><a href=\"http://www.poloteam-gifhorn/2/newsadmin.php\">Zurück</a></p> ";

  }else{

   //Formular für Eintragung

   ?>

   <form action="" method="post">

   
  <p align="center"><strong>News Eintragen: </strong></p>
  <div align="left"> 
    <table width="97%" height="177" border="0">
      <tr>
        <td><p><a href="edit.php">•Editieren</a><br>
            <a href="edit.php">•Löschen</a></p>
          <div align="center">
            <table width="29%" height="200" border="0">
              <tr> 
                <td><div align="left">&Uuml;berschrift:<br>
                    <input type="Text" name="title" value="" />
                    <br>
                    Nachricht:<br />
                    <textarea name="text"></textarea>
                    <br />
                    <input type="hidden" name="user2" value="<?= $user ?>" />
                    <input type="hidden" name="pass2" value="<?= $pass ?>" />
                    <input type="hidden" name="md2" value="false" />
                    <input type="Submit" name="Submit2" value="Senden" />
                  </div></td>
              </tr>
            </table>
          </div>
          <p>&nbsp;</p></td>
      </tr>
    </table>
  </div>


   <?php

  }

 }else{

  //Sequenz Passwort falsch

  echo "ERROR - Falsches Passwort";

 }

}else{

 ?>

 <form action="" method="post">
  <div align="center">
    <p><strong>NewsScript-Administration Ver 0.2</strong><br>
      (c) by L4seR</p>
    <p>&nbsp;</p>
    <p>User: 
      <input type="Text" name="user" />
      Passwort: 
      <input type="Password" name="pass" />
      <input type="hidden" name="md" value="true" />
      <input type="Submit" name="Submit" value="Login" />
    </p>
  </div>
</form>

 <?php

}

?>

so das habe ich zusammen mit meinem informatik lehrer geschrieben ich weiß es ist nicht die schönste lösung aber auf der schule läuft nunmal nix anderes :D
und auch wenn ich auf aktualisieren gehe muss ich mich immer wieder erneut einloggen

mfg
Alex
 
Da sind einige Sache die mir komisch vorkommen.

PHP:
$login['user] = "pw";
$login['user'] = "pw";
$login['user'] = "pw";
Wozu soll das gut sein, auserdem fehlt ein ' im ersten.

Unten bei der Abfrage hast du dann wieder:
PHP:
if($login[$user]== md5($pass)){
Wozu das $user, muss das nicht user heissen?

Zu deinem Problem, du überprüfst ob ein Username und ein Passwort eingegeben ist und übergibst diese mit POST.

Wenn du auf zurück drückst sind diese Daten aber sozusagen wieder gelöscht und du musst sie erneut eingeben.

Du kannst nun eine Session starten und diese Lotindaten in Sessionvariablen speichern dann sind die solange verfügbar und gesetzt bis du das Browserfenster schliesst oder die Session Terminierst.
Interessant könnte auch noch Cookies für dich sein.

Les dich mal in Session und COOKIES ein, für diese Aufgabe sollte das nicht allzuschwierig werden und auch von einem Anfänger machbar sein.
 
Da sind einige Sache die mir komisch vorkommen.

PHP:
$login['user] = "pw";
$login['user'] = "pw";
$login['user'] = "pw";
Wozu soll das gut sein, auserdem fehlt ein ' im ersten.

Unten bei der Abfrage hast du dann wieder:
PHP:
if($login[$user]== md5($pass)){

Er hat die Skripte nur entsprechend geändert, damit hier die Usernamen und Passwörter nicht stehen ;)

Hier gehts übrigens zu den [phpf]Session[/phpf] Befehlen und hier zu den Cookies [phpf]setcookies[/phpf]
 
genau user ist platzhalter für einen user namen und passwort ist platzhalter für ein md crypted pw
 
also du setzt z. B. einen SESSION-Cookie
PHP:
//SESSION starten
session_start();
//setzten
$_SESSION['test'] = "test";
//löschen
unset($_SESSION['test']);
Und bis jetzt prüfst du ja glaube ich
PHP:
if(isset($user)&&isset($pass)){
Nun musst halt die SESSION irgendwann setzten und kannst dann so prüfen
PHP:
if(isset($_SESSION['test'])){
// eingeloggt
}
else
{
// login formular oder sowas ...
}
 
Zurück