Frage zu Eurem register/login Tutorial

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Frage zu Eurem register/login Tutorial

    Hallo,

    ich hätte zu Eurem registe/login Tutorial eine Frage. Das Script ist super aber er wäre vielleicht sehr sinnvoll, wenn man eine Admin-Funktion einbauen würde, wo man die User sieht und sie vielleicht auch wieder löschen kann. Wäre so etwas schwierig zu machen? Ich denke auch darüber nach, ein weiteres Feld als Pflichtfeld einzufügen (gültige eMail-Adresse) aber dann müsste man ds Script wohl total umschreiben, denn dann wäre es ja sinnvoll, dass Passwort an die angegebene eMail-Adresse senden zu lassen und dieses vorher zu generieren.

    Hm, naja, muss ja nicht sein. Habe ich wenigstens etwas zum üben, aber das mit der Admin-Funktion wäre schon sehr hilfreich. Im Endeffekt bräuchte ich doch nur ein Script, dass mir die db.txt ausließt und dort bestimmte Zeilen löscht, oder?

    Gruß inekai
  • hi,

    habe das Tutorial bewusst so kurz gehalten.

    Aber es gibt ja noch mehr:
    * [coderwiki]HowTos/PHP-zufaelliges-Passwort-erstellen[/coderwiki]
    * [wiki]Webmailer mit PHP[/wiki]

    Das Auslesen von Dateien wird im [coderwiki]HowTos/PHP-Login-Registrierung-Tutorial[/coderwiki] behandelt.
    Das passiert mit

    Quellcode

    1. $file = file('db.txt');
    2. foreach($file as $var) ...


    ergänzend brauchst du dann nur noch einen String zusammenzusetzen.. die Zeile bei Änderung zu modifizieren und die Datei dann nochmal zu schreiben.
  • Aha, zumindest den ersten Teil hab ich schon mal hinbekommen, das auslesen:

    Quellcode

    1. <?php require('secure.php'); ?>
    2. <?php
    3. $fp = fopen("db.txt","r");
    4. if ($fp)
    5. {
    6. while(!feof($fp))
    7. {
    8. $text = fgets($fp);
    9. echo"$text<br>";
    10. }
    11. fclose($fp);
    12. }
    13. ?>
    Alles anzeigen


    Hm, kann man das Passwort auch sichtbar machen? Ist zwar nicht nötig aber dennoch. Und jetzt versuche ich mal, eine Löschfunktion einzubauen.

    Gruß inekai
  • Ok, ich habe jetzt das:

    Quellcode

    1. <?php
    2. function blaettern($text, $prosite = 10) {
    3. $count = count($text);
    4. $t = !isset($_GET['t']) ? $count - ($count - $prosite) : $_GET['t']; // Wenn t=* gesendet wird wird das benutzt, wenn nicht der Startwert
    5. $n = !isset($_GET['n']) ? $prosite : $_GET['n']; // Das Gleiche hier, nur mit n=*
    6. for($i = $t; $i < $n; $i++) {
    7. if(!in_array($text[$i], $text)) {
    8. print 'Fehler diese Seitenanzahl ist ung&uuml;ltig';
    9. break;
    10. // Wenn dieser Wert nicht mehr im Array ist wird die for-Schleife abgebrochen
    11. }
    12. print $text[$i].'<br />';
    13. if($i == $count - 1) {
    14. break;
    15. } // Wenn $i größer ist als das Array wird die for-Schleife abgebrochen
    16. }
    17. print '<br />'; // Einfacher Zeilenumbruch
    18. $weiter = ($t > ($count - $prosite) && $n > $count) ? 'Weiter' : '<a href="'.basename($_SERVER['PHP_SELF']).'?t='.($t + $prosite).'&n='.($t + ($prosite * 2)).'">Weiter</a>';
    19. $zurueck = ($t < $prosite && $n < $prosite * 2) ? 'Zur&uuml;ck' : '<a href="'.basename($_SERVER['PHP_SELF']).'?t='.($t - $prosite).'&n='.($n - $prosite).'">Zur&uuml;ck</a>';
    20. return $zurueck.' '.$weiter; // Ausgabe
    21. }
    22. // Beispiel
    23. $file = file('db.txt');
    24. print blaettern($file);
    25. ?>
    Alles anzeigen


    Aber ich habe das mit der Löschfunktion immer noch nicht gelöst. Also mit einer Checkbox und dann mit einem simplen delete-Button unten. Hm, auch schade, dass diese Blätterfunktion nur mit reinen Textfiles funktioniert und nicht mit meinem anderen Problem, einzelne Textfiles aus einem Ordner auszulesen und dann darin zu blättern :cry:

    Gruß inekai
  • die blätterfunktion funktioniert mit allen arrays.
    Wenn du den Ordner ausliest und in ein Array schreibst, dann klappt die auch damit

    Wie du einen Ordner in ein array liest, erfährst du hier: [coderwiki]HowTos/PHP-Ordner-auslesen[/coderwiki]

    brauchst ja nur die folgenden 3 Zeilen dazu

    Quellcode

    1. $handle = opendir('ordner');
    2. while ($file = readdir ($handle))
    3. $fileArray[] = $file;


    und dann einfach mit blaettern($fileArray) aufrufen
  • Ja langsam verstehe ich das Prinzip. Nach einer langen Nacht mit dem unzähligen durcharbeiten von Tutorials habe ich jetzt folgenden Code:

    Quellcode

    1. <?php
    2. if (isset($HTTP_POST_VARS['delete'])) {
    3. $inhalt = file('db.txt');
    4. $fp = fopen('db.txt','w');
    5. flock($fp,2);
    6. while (list($inhalt_key,$inhalt_val) = each($inhalt)) {
    7. if (!isset($HTTP_POST_VARS['delete'.$inhalt_key])) {
    8. fwrite($fp,$inhalt_val);
    9. }
    10. }
    11. flock($fp,3);
    12. fclose($fp);
    13. }
    14. $inhalt = file('db.txt');
    15. echo '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">';
    16. echo '<table width=100% border=0 cellspacing=1 cellpadding=2 bgcolor=#C3C3C3><tr><td bgcolor=#808080 background="img/bg1.png"><font face="verdana" size=2 color=#FFFFFF><b>Registrierte User:</td></tr><tr><td bgcolor=#E6E6E6>';
    17. echo '<font face=verdana size=2>';
    18. while (list($inhalt_key,$inhalt_val) = each($inhalt)) {
    19. echo $inhalt_val.'<input type="checkbox" name="delete'.$inhalt_key.'"><br>';
    20. }
    21. echo '</td></tr></table>';
    22. echo '<br>Lösche selektierte User: <input type="submit" value="delete" name="delete"></form>';
    23. ?>
    Alles anzeigen


    Das mit dem Löschen haut auch super hin. Was noch nicht so schön ist, dass ich es nicht schaffe die Checkbox in eine eigene Spalte zu schreiben wegen der Übersicht. Sie ist direkt neben der jeweiligen Userzeile. Ich habe das dann so versucht:

    Quellcode

    1. echo $inhalt_val.'</td><td><input type="checkbox" name="delete'.$inhalt_key.'"><br>';


    Aber so geht das nicht. Irgendwo habe ich noch einen Fehler drinnen. Ich habe in einem Tutorial gelesen, dass man erst seine Anwendung fertig coden soll ohne Beachtung der Blätterfunktion. Die soll man erst am Schluß einbauen. Aber ich habe ja meine while-Schleife und damit müßte sich dann eine Blätterfunktion realisieren lassen. Leider sind die meisten Blätter-Tutorials nur für MySQL. Es gibt nur sehr wenig für reine Textfiles oder Ordner. Wenn da jemand also etwas für mich hat, ein Tutorial oder so, damit ich das nachmachen und verstehen kann, wäre das super.

    Gruß inekai