.dat Datenbank Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • .dat Datenbank Frage

    Hallo ich habe gesucht aber nicht gefunden... ich brauche eure Hilfe...

    ich habe ein Newsscript geschrieben, was soweit auch ganz gut funktioniert, ich habe nur ein Problem.

    Das ganze läuft mit einer .dat Datei wegen MySQL selten und ich finde flatfiles also txt oder .dat dateien einfach "einfacher"

    so ich bin nun soweit, das es multiuserfähig ist, das man News schreiben kann... nun überlege ich aber gerade wie ich diese auch wieder "löschen" und "bearbeiten" kann... und ich hab NULL ahnung

    hier mal die Dateien zum ansehen:

    admin.php
    PHP-Code:
    <?php
    //Vorgabe Login-Daten leeren
    $login = array();
    //Vorgabe Login-Daten setzen
    $login['xxx'] = "xxx"
    $login['xxx'] = "xxx";
    $login['xxx'] = "xxx";
    $login['xxx'] = "xxx";
    $login['xxx'] = "xxx";

     
     
    //usernamen aus Postdata entnehmen
    $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)){
     
    //Passwort erneut verschlüsseln und abfragen
     
    if($login[$user]== md5($pass)){
      
    //Sequenz: mitgliederbereich
      //Eintragung nur bei gesetztem Titel und Inhalt
      
    if(isset($title)&&isset($text)){
       
    //Eintragungssequenz
       //Datei auswählen
       
    $datei "news.dat";
       
    //Datei öffnen wenn möglich
       
    $gdatei fopen($datei"r+") or exit('Das Newsseite konnte nicht geöffnet werden');
     
       
    //flock($gdatei, LOCK_EX) or die('$gdatei kann nicht gepserrt werden...');
       //Soviele Zeichen aus der Datei lsesen wie sie groß ist
       
    $inhalt fread($gdateifilesize($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"<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 
    "Erfolgreich Eingetragen!";
      }else{
       
    //Formular für Eintragung
       
    ?>
    <style type="text/css">
    <!--
    .Stil1 {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 10px;
    }
    -->
    </style>

       <form action="" method="post">
       <span class="Stil1">Betreff:&nbsp;</span>&nbsp;&nbsp;
       <input type="Text" name="title" value="" /><br />
       <span class="Stil1">Nachricht:</span>
       <textarea name="text" cols="40" rows="12"></textarea>
       <br />
       <input type="hidden" name="user" value="<?= $user ?>" />
       <input type="hidden" name="pass" value="<?= $pass ?>" />
       <input type="hidden" name="md" value="false" />
       <input type="Submit" name="Submit" value="Submit" />
       <br />
       <br />
       <br />
       <br />
    <?php
    include("news.dat");
    ?> <br />
       </form>
       <?php
      
    }
     }else{
      
    //Sequenz Passwort falsch
      
    echo "ERROR : Passwort falsch!.";
     }
    }else{
     
    ?>
     <form action="" 
    method="post">
    <input type="Text" name="user" />
    <input type="Password" name="pass" />
    <input type="hidden" name="md" value="true" />
    <input type="Submit" name="Submit" value="Submit" />
    </form>
     <?php
    }
    ?>
    news.dat sieht in etwa so aus:
    Code:
    so dann nochmal (28.06.2008) 	xxx
    also dann test nummer 3 ! 4 5
    
    6
    
    so dann nochmal (28.06.2008) 	xxx
    also dann test nummer 3 !
    und zu guter letzt wird das ganze indcludet:
    body.php
    PHP-Code:
    <?php
    include("news.dat");
    ?>
    kann mir jemand sagen wie man das am besten realisiert? oder wie ich das mache oder scriptvorschläge oder, oder, oder?!

    ich danke schonmal im Vorraus!
    Zuletzt geändert von timekillar; 28.06.2008, 16:00.

  • #2
    Willkommen,

    vernünftige Sätze und das Umbrechen überlanger Zeilen wären schon ne tolle Sache...

    Zum Thema Löschen. Wenn du eine Multiuser fähige Anwendung unbedingt auf Flat-Files basierend gestalten möchtest, dann musst du beim Löschen (und Bearbeiten) der Datensätze halt ein wenig mehr Aufwand in Kauf nehmen.

    Das Auslesen der Datensätze hast du ja hoffentlich schon geschafft. Oder sollte das inlcude() da am Ende deines Postings die Anzeige der Nachrichten übernehmen?

    Löschen:
    Einträge in ein Array lesen.
    Gewünschten Eintrag aus dem Array löschen.
    Array in Datei (zurück) schreiben.

    Bearbeiten:
    Einträge in ein Array lesen.
    Gewünschten Eintrag aus dem Array bearbeiten.
    Array in Datei (zurück) schreiben.

    Serren der Datenbank nicht vergessen. Sonst überschreiben sich die Änderungen gegenseitig.

    Tja, das wars.

    Wie gesagt, mySQL ist da um einiges komfortabler, aber wenn du das nicht magst, musst du halt den Mehraufwand (und eine zusätzliche Fehleranfälligkeit) in Kauf nehmen.

    Kommentar


    • #3
      danke also ja zeilen habe ich noch umgebrochen habs ja selbst gemerkt

      und nein das include dient nicht zum "auslesen" das ist einfach nur so zum anzeigen nur so

      danke das du mir einen Leitfaden gemacht hast

      ich versuch das mal so

      danke!

      Kommentar

      Lädt...
      X