finde einfach den Fehler nicht...

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

  • #16
    jetzt steht in der datei variable.php nur das drinnen:

    <?php
    <?php

    hmmm...

    Kommentar


    • #17
      aber es kommt noch immer eine Fehlermeldung...
      weil du nirgendwo der variable nerst einen wert zuweist. also ist
      PHP-Code:
      if($nerst1!=1
      immer war.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #18
        doch tu ich, ... das wird mittels browserzeile übergeben...daran liegt es nicht.

        Kommentar


        • #19
          das wird mittels browserzeile übergeben
          wo ist der code dafür?

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #20
            der stimmt, also wollte ich ihn euch erspaaren...aber egal

            PHP-Code:
            // Variable bearbeiten

            echo "Variable: <b>$vvariableb</b> Bearbeiten";

            if (
            $vvariableb=="0")
            {
            echo <<<FORM
            <form method="post" action="admin.php?typ=61&name=$cname&passw=$cpassw&nerst1=1">
            Variablename:  <input name="bvariablename" size="20" type="text" /> <br />
            FORM;
            }
            elseif(
            $vvariableb!="0")
            {
            echo <<<FORM
            <form method="post" action="admin.php?typ=61&name=$cname&passw=$cpassw&bvar=$vvariableb">
            FORM;
            }
            echo 
            "<textarea cols=100 rows=15 name=varcontent>";
            require(
            "variable.php");
            $vausgabe=substr($vvariableb1);
            echo ${
            $vausgabe};
            echo 
            "</textarea><br />"

            echo <<<FORM
            <input type="submit" value="Absenden">
            </form>
            <p>
            <a href="admin.php?typ=3&name=
            $cname&passw=$cpassw" alt="Zurück">Zurück</a>

            FORM; 

            Kommentar


            • #21
              nerst1 steht einfach nur dafür, ob es die zeile schon gibt, oder nicht.
              das kannst du aber doch nur in der schleife beim auslesen erfahren, oder? => denkfehler.

              und dran denken:
              du weisst, dass du nicht einfach mitten in eine datei schreiben kannst?
              es gibt da nur zwei möglichkeiten, an eine datei etwas dranhängen oder komplett neu schreiben.

              btw: beschreib doch mal ganz genau, was du eigentlich vorhast.

              OffTopic:
              fahr jetzt nach hause, melde mich heute abend


              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #22
                ok...

                das ist nur ein teilscript, alles zu posten würde den beitrag sprengen.

                ich versuche es einmal zu erklären.

                variable.php ist so aufgebaut:

                Zeile1: <?php
                Zeile2: $variable1="Inhalt der Variable1";
                Zeile3: $variable2="Inhalt der Variable2";
                Zeile4: ?>

                ganz am nfang wähle ich entweder eine bereits bestehende variable aus, oder klicke auf "neue erstellen" (das funktioniert einwandfrei)
                danach wird datei bearbeitet, bzw. neu geschrieben, mittels eines formulars. daraus kommen dann folgende werte:

                1. $bvar -- da drinnen ist der variablename. sollte es noch keinen geben ist 0 darinnen abgespeichert.
                2. $nerst1 -- wenn 1 dann neue variable, wenn 0 dann bereits vorhanden
                3. $bvariablename -- da steht der neue name drinnen (nur wenn die datei noch nicht existiert
                4. $varcontent -- Variable-Inhalt

                das wird also weitergegeben...an dieses script:

                PHP-Code:
                 $rp fopen("variable.php","r+");
                   if (
                $rp)
                   {
                      
                // Alle Werte in einen Array lesen
                      
                $x 0;
                      
                $geszeichen "=";
                      while (
                $zeile!="?\>")
                      {
                           
                $zeile fgets($rp1000);
                         if(
                $nerst1!=1)
                         {
                             
                $zeichenz strpos($zeile$geszeichen);
                            
                $vzeile substr($zeile0$zeichenz);
                            if(
                $bvar!=$vzeile)
                            { 
                fwrite($rp,$zeile); }
                            else
                            {
                            
                $satzteichen="'";
                            
                $ersatzwritezeile=$bvar."=".$satzteichen.$varcontent.$satzteichen.";";
                            
                fwrite($rp,$ersatzwritezeile);
                            }
                         }
                         elseif(
                $nerst1==1)
                         {
                             if(
                $bvar!="?\>")
                            { 
                fwrite($rp,$zeile); }
                            else
                            {
                                
                $satzzeichen1="$";
                                
                $satzzeichen2=";";
                                
                $endofall="?\>";
                                
                $ersatzwritezeile=$satzzeichen1.$bvariablename."=".$satzteichen.$varcontent.$satzteichen.$satzzeichen2;
                                
                fwrite($rp,$ersatzwritezeile);
                                
                fwrite($rp,$endofall);
                            }
                         
                         }
                        
                      }
                      
                fclose($rp);
                   } 
                folgendes scriptstück funktioniert... als kleiner denkanstoß villeicht...

                PHP-Code:
                $fn="extras.php";
                $zeile1="<html><title>Konstanten</title><body><?php\n";
                $zeilee="?></body></html>";
                $varzeichen="$";
                $titlew=$varzeichen."ctitle=\"".$title."\";\n";
                $methaw=$varzeichen."cmetha=\"".$metha."\";\n";

                $fp=fopen($fn,"w");
                fwrite($fp,$zeile1);
                fwrite($fp,$titlew);
                fwrite($fp,$methaw);
                fwrite($fp,$zeilee);
                fclose($fp);
                lg SquirrelFrank

                Kommentar


                • #23
                  also wenn ich dich richtig verstehe, überprüfts du ob eine (!) variable schon existiert. wenn dem nicht so ist, wiilst du sie in die datei schreiben.

                  wenn ich richtig liege, ist dein weg aber extrem unkomfortabel. lies die datei nur dann ein, wenn die variable fehlt. und dann als ganzes. den inhalt packst du in eine variable, und ersetzt das ?> mit den neuen variable + "\n" + ?> und schreibst das ganze wieder in die datei. dafür mußt du die nicht zeilenweise auslesen.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #24
                    Ich würde "auch" sagen das ein

                    PHP-Code:
                    $inhalt file("variablen.php");

                    if (!
                    in_array("zusammengebauter_suchbegriff"$array))
                    {
                       
                    // Eintrag fehlt.. Mit array_push hinzufügen
                      // Vorher das phpende sprich fragezeichen> entfernen
                    }
                    // Das phpende wieder anfügen falls es nicht das letzte element des Arrays ist

                    // Falls PHP5
                    file_put_contents();

                    // PHP4
                    foreach ($inhalt AS $zeile)
                    {
                       
                    // In die Datei schreiben

                    kürzer und (imho) performanter sein müsste.
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar

                    Lädt...
                    X