Php Problem!!

Dieses Thema im Forum "Webentwicklung" wurde erstellt von booby, 1. Oktober 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 1. Oktober 2005
    Hi, habe mal wieder ein Problem mit php!

    Ich hab n kleines script gebastelt, womit man "dateien online stellen" kann..

    Also es wird eine input.html geschrieben, die dann in die eigentlich datei includet wird...

    folgende dateien sind vorhanden


    in der "uploaddatei" ist folgender code:

    PHP:
    <b>Administration - Remixes hinzufügen:</b><br><br><br>


    <form action="<? $PHP_SELF ?>" method="POST">
    Dein Name: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class="Button" type="Text" name="uploader"><br>
    Url zum Remix: &nbsp;<input class="Button" type="Text" name="url"><br>
    Linkname: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class="Button" type="Text" name="linkname"><br>
    Passwort: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class="Button" type="Password" name="pw"><br><br>
    <input class="upload" type="Submit" name="hinzu" value="Hinzufügen">
    </form>




    <?
      $adminpw 
    "test" ;
      
    $leer  "" ;

      
    $datei  fopen ( "input_remix.html" , "w" );

      
    $ausgabe1  "<a href=\"" ;
      
    $ausgabe2  " $url " ;
      
    $ausgabe3  "\" target=\"_new\">" ;
      
    $ausgabe4  " $linkname " ;
      
    $ausgabe5  "</a> <font size=\"1\"> &raquo; by " ;
      
    $ausgabe6  " $uploader " ;
      
    $ausgabe7  "</font><br>\n" ;


      if(
    $pw  ==  $adminpw  AND  $url  !=  $leer  AND  $linkname  !=  $leer  AND  $uploader  !=  $leer ){

          
    fwrite ( $datei $ausgabe1 );
          
    fwrite ( $datei $ausgabe2 );
          
    fwrite ( $datei $ausgabe3 );
          
    fwrite ( $datei $ausgabe4 );
          
    fwrite ( $datei $ausgabe5 );
          
    fwrite ( $datei $ausgabe6 );
            
    fwrite ( $datei $ausgabe7 );

      }

      else{

          echo 
    "Bitte alle Felder ausfüllen!" ;

      }

      
    fclose ( $datei );
    ?>

    die inputdatei sieht dann z.b so aus:

    PHP:
    < a href = "link.rar"  target = "_new" > Testtest  ;)</ a > < font size = "1" > & raquo by XXX </ font >< br >

    die input wird dann in die hauptdatei includet^^ (z.b downloads.php)



    <<===================>>


    Jetzt mein Problem:

    Wenn ich so Remixe hinzufüge, wird die letzte ausgabe überschrieben! wenn cih den mode a+ nehme, dann wird die nächste ausgabe nach unten versetzt, das will ich aber auch nicht, ich will, dass die neuste ausgabe immer ganz oben steht und die letzte eins nach unten verschoben wird!


    wie mach ich das?

    ich hoffe ihr habt das verstanden!

    Bin für jede Hilfe sehr dankbar!!!

    cya
     
  2. 1. Oktober 2005
    An deiner stelle würde ich die datei mit file() auslesen

    Dann würde ich das ganze mit implode() zusammensetzen und deine ausgabe an den String vorne einfügen

    also:

    PHP:
    <? php

    $dateiinhalt 
    file ( "input_remix.html" );
    implode ( $dateiinhalt "\n" );


    $ausgabe  "<a href=\"" ;
    $ausgabe  .=  " $url " ;
    $ausgabe  .=  "\" target=\"_new\">" ;
    $ausgabe  .=  " $linkname " ;
    $ausgabe  .=  "</a> <font size=\"1\"> &raquo; by " ;
    $ausgabe  .=  " $uploader " ;
    $ausgabe  .=  "</font><br>\n" ;

    $dateiinhalt  $ausgabe . $datei ;

    if(
    $pw  ==  $adminpw  AND  $url  !=  $leer  AND  $linkname  !=  $leer  AND  $uploader  !=  $leer ){
          
    $datei  fopen ( "input_remix.html" , "w" );
          
    fwrite ( $datei $dateiinhalt );

      }

      else{

          echo 
    "Bitte alle Felder ausfüllen!" ;

      }
    ?>
    Sollte so gehn

    Btw:

    du musst nicht 1000 Variablen erstellen für die ausgabe
     
  3. 1. Oktober 2005
    hm bist du dir sicher das du php kannst ? ^^

    <?php <a href="link.rar" target="_new">Testtest </a> <font size="1"> &raquo; by XXX</font><br> ?>

    ist mal total falsch

    wenn dann muss das

    <?
    echo "<a href="link.rar" target="_new">Testtest </a> <font size="1"> &raquo; by XXX</font><br>"; ?>

    so aussehen aber wieso schreibst du den href in php ???
     
  4. 1. Oktober 2005
    ne das war n schr´reibfehler, erklärt sich ja auch dadurch, dass die datei input_remix.HTML heißt! ^^

    und hmm ja man kann sich streiten ob ich php richtig kann^^




    B2T:


    Ne geht leider nicht dein Lösungsvorschlag es überschreibt wieder!!
     
  5. 1. Oktober 2005
    dann machst halt bei fwrite statt ein w ein a+ hin
     
  6. 1. Oktober 2005

    dann gehn die nächsten einträge wieder nach unten
    der neuste soll aber oben stehn !!
     
  7. 1. Oktober 2005
    gugg dir meinen post an erst datei auslesen und dann inkl des neuen eintrages neu reinschreiben

    mal ne ganz andere frage:

    warum machse das nicht mit einer DB wäre doch 10ma einfacher...
     
  8. 1. Oktober 2005

    1. kann ich das nicht
    2. kannst du mir das sohincoden, dasses zuerst die datei ausliest und dann inkl des neuen eintragt neuschreibt? ich blick nämlich garnixmehr ^^

    wäre hammer!!
     
  9. 1. Oktober 2005
    macht er eigentlich also mal ne ganz einfache beschrewibung des codes oben:

    PHP:
    <? php

    $dateiinhalt 
    file ( "input_remix.html" );  //Datei auslesen
    implode ( $dateiinhalt "\n" );  //DEn Array den file() erstellt in einen string umwandeln (liste->zeichenkette)


    $ausgabe  "<a href=\"" ;
    $ausgabe  .=  " $url " ;
    $ausgabe  .=  "\" target=\"_new\">" ;
    $ausgabe  .=  " $linkname " ;
    $ausgabe  .=  "</a> <font size=\"1\"> &raquo; by " ;
    $ausgabe  .=  " $uploader " ;
    $ausgabe  .=  "</font><br>\n" ;

    //Ausgabe zusammenfügen ginge auch alles in einer Zeile hatte aber kein bock alle ' und " richtig zu setzen geht zur not auch so

    $dateiinhalt  $ausgabe . $datei //Ausgabe an den anfang des vorherigen Dateiinhalts packen

    if( $pw  ==  $adminpw  AND  $url  !=  $leer  AND  $linkname  !=  $leer  AND  $uploader  !=  $leer ){ //PW abfrage © you
          
    $datei  fopen ( "input_remix.html" , "w" );  //Datei öffnen
          
    fwrite ( $datei $dateiinhalt ); //neuen inhalt einfügen
          
    fclose ( $datei );

      }

      else{

          echo 
    "Bitte alle Felder ausfüllen!" ;

      }
    ?>
    denke das sollte verständlich sein wenn net frag einfach
     
  10. 1. Oktober 2005
    okay danke, ging net ganz, aber ein anderer aus meienr icq liste hat mir geholfen, aber kriegste trotzdem ne 10 für deine bemühungen

    cu an close
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.