Ergebnis 1 bis 18 von 18

Thema: [PHP] Editor-Script zum selber basteln

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Lucleonhart Beitrag anzeigen
    Zitat Zitat
    Fatal error: Call to undefined function: file_put_contents() in /home/www/web52/html/try/editor.php on line 16
    Eiscool 8)

  2. #2
    Zitat Zitat
    Wie war das mit dem "schlechten Stil"? Ausserdem sind die Dateien im "scripts" Ordner.
    Errare Humanum Est. Wie ich sagte, eine unüberprüfte, gute, wenn auch fehlerhafte Korrektur. Es sieht besser aus als vorher.
    Bevor du aber mit mir über schlecten Stil diskutierst, beende deinen AJAX Test

    Zitat Zitat
    Erstmal ist da eine else Verzweigung drin, die sich auf gar kein if bezieht, den block
    Da hast du ausnahmsweise recht.

    Zitat Zitat
    Ausserdem hat die Datei-Auswahl-Form ein seeehr merkwürdigen action tag.
    Zur information: URI Parameter im Action Tag sind bei der post-Methode erlaubt. Nur bei der get-Methode werden die nativen Angaben überschrieben. Dann ist ein hidden-Feld sinnvoll.

    Zitat Zitat
    Wenn du erst das Formular öffnest, und dann eine Tabelle machst, solltest du auch erst die Tabelle beenden, und dann das Formular. Des weiteren beendet die else schleife die ausgabe bevor die
    Ich hoffe das geht eher in Richtung Armitage, auch wenn ich zugene, fad erste <form> aus der Tabelle herausgenommen zu haben.


    Zitat Zitat
    mitaki hat sicher noch ein paar verbesserungsvorschläge!
    Naja, ich muss Armitage ans Herz legen, sich genauer mit PHP zu beschäftigen. Dieses halbwissen, das man immer wieder in Foren dieser Art antrifft ist eine furchtbare Sache.
    Ich habe hier ja auch meinen Thread mit zahlreichen Verweise, die wirklich sinnvoll sind. Aber leider nehmen sich die wenigsten Zeit dazu.

    Zitat Zitat
    <input name="sbm" type="submit" value="Close" onClick="self.close()" />
    Sollte 1. aus konformitätsgründen ebenfalls innerhalb einer Tabellenzelle vorkommen.
    2. so aussehen:
    HTML-Code:
    <input name="sbm" type="button" value="Close" onclick="javascript:self.close()" />
    type="button", da man es ja nicht nochmal abschicken möchte. onclick kleingeschrieben, weil wir XHTML verwenden (auch wenn es Tagsoup ist).
    Und das javascript: dazu.
    Da Inlinescripte verwendet werden ist auch eine <meta /> Angabe notwendig:
    HTML-Code:
    <meta http-equiv="content-script-type" content="text/javascript" />

    Geändert von mitaki (27.10.2006 um 13:18 Uhr) Grund: Neubearbeitung

  3. #3
    @ Samogas: Ach ja.. *räusper* php4 auf meinem Webspace.. Vergessen wir das ganz schnell! ^^

    @ Mitaki: Des Close Buttonschen hab ich wohl übersehen. *g* Als es mit dem bearbeiten geklappt hat, hab ich dem Button keine Beachtung mehr geschenkt.
    Das man beim action tag etwas per GET anhängen kann iss klar, nur hat es in diesem fall nichts gebracht, weil die Formular Variable selbst angehängt werden sollte.. daher..

    Und wieso ist das Halbwissen furchtbar?! Bist du etwa von 0% auf 100% gesprungen in deinem Wissen?
    "Das glaub ich nicht, Tim".
    Wenn wir kein Halbwissen hätten, wäre dieses Forum wohl nutzlos.

  4. #4
    Nein, vielleicht sollte ich es auch eher als halbgares Wissen bezeichnen.

    Und sowas einfaches wie die Variablenverkettung (auch wenn der Begriff anderes implizieren mag) findet man doch in jedem Tutorial, allem voran im Handbuch auf den ersten Seiten.

    Ich meine es ja nicht böse, falls das so rüberkommen sollte. Aber ich bin eben der Meinung, dass man die Grundlagen kennen sollte, damit man auch mit Lösungsvorschlägen umgehen kann, anstatt erklären zu müssen wo jeder Punkt und jedes Komma gesetzt werden muss.

  5. #5
    @mitaki

    so schwer ich mirs auch eingestehen kann, aber du hast leider vollkommen recht. ich bin nun mal ein niete in sachen php und ich hab nun mal leider nicht die zeit mich da jetzt in jedes kapitel reinzuknien. Mein HTML-Wissen is ja nicht schlecht, da kann ich mir bei so ziemlich jeden problem helfen, aber wenns dann an sachen wie PHP geht, wo jedes komma und semikolon wichtig ist, da hab ich einerseits nicht die geduld und vorallem nicht die zeit jetzt stunden mit debuggen zu verbringen damit ein dummes kleines script funktioniert.

    sicher, ohne ein handbuch gelesen zu haben und sich eine zeitlang mit der materie zu beschäftigen ist es verdammt schwer in PHP was auf die beine zu stellen, aber da dieses ganze websiten-ding sowieso bei mir nur die wichtigkeit eines hobbys hat, beschäftige ich mich mit den simpleren dingen die man realtiv leicht selber lernen kann.

    und nur nebenbei, ich wachse mit jedem beispiel dass ihr mir erklärt, denn glaubt es oder nicht, aber ich versuch eure ratschläge zu kapieren und sie dann in meinen schädel zu bekommen

    Trotzdem, vielen lieben dank an alle die mir (mal wieder) geholfen haben so ein kleines PHP-Wunder zum laufen zu bringen.

    Greets,
    A2k

  6. #6
    Ich weiß, die Grenzen zwischen Hobby und Arbeit sind in diesem Bereich sehr fließend.

    Das Manual mag dazu etwas zu groß sein, aber wenn du mal Zeit hast sieh dir doch eines der Tutorials in meinem Thread an. Die meisten sind in Kapitel eingeteilt, von daher kannst du mal Blättern

    Zitat Zitat
    und nur nebenbei, ich wachse mit jedem beispiel dass ihr mir erklärt, denn glaubt es oder nicht, aber ich versuch eure ratschläge zu kapieren und sie dann in meinen schädel zu bekommen
    Gut zu wissen

    Zitat Zitat
    Trotzdem, vielen lieben dank an alle die mir (mal wieder) geholfen haben so ein kleines PHP-Wunder zum laufen zu bringen.
    Hauptsache es geht jetzt

  7. #7
    Zitat Zitat von mitaki Beitrag anzeigen
    Hauptsache es geht jetzt
    Naja, fast

    Ich hab grad probiert das ganze Script auf die .php Dateien in meinem /pub/ Ordner anzuwenden. Die .php Dateien können auch ohne Probleme geöffnet werden, aber ich kann sie leider nicht bearbeiten. Zuerst hab ich gedacht es liegt daran dass die Dateien keine Schreibrechte haben (CHMOD 777), aber als ich dann noch die Fehlermeldung
    Code:
    Warning: file_put_contents() expects at least 2 parameters, 1 given in /www/usersites/g-l/klessheimer/pub/scripts/editor/editor_pub.php on line 18
    bekommen hab, wurde ich doch ein bisschen verwirrt.
    Hab das dann mal im PHP Manual nachgeschlagen, doch darauch werd ich auch nicht schlau.

    Ich tippe einfach mal dass sich der Befehl file_put_contents() ganz einfach nur auf .txt Dateien anwenden lässt.

    Merci again,
    A2k

  8. #8
    Zitat Zitat von Armitage2k Beitrag anzeigen
    Code:
    Warning: file_put_contents() expects at least 2 parameters, 1 given in /www/usersites/g-l/klessheimer/pub/scripts/editor/editor_pub.php on line 18
    Steht doch drin. Zeig mal deinen aktuellen Code. Da müsste nur ein Parameter geben werden sein. Vllt. aber auch hat sich in dein Script ein Fehler eingeschlichen der die Parameter verfälscht.

  9. #9
    Hier mal die Source:
    [PHP]
    <body>
    <?php
    error_reporting(E_ALL);

    if (isset($_POST['script_name']))
    {
    $script_name = $_POST['script_name'];

    if (isset($_POST['text']))
    file_put_contents('http://meineadresse.com/'.$script_name.'.php');

    ?>
    <form method="post" action="editor_pub.php" name="source_edit" id="formular">
    <input type="hidden" name="script_name" value="<?php echo ($script_name); ?>">
    <table>
    <tr>
    <td style="padding:2px"><strong><?php echo $script_name; ?>.php Inhalt:</strong></td>
    </tr>
    <tr>
    <td style="padding:2px">
    <textarea cols="140" rows="15" name="text"><?php echo file_get_contents('http://meineadresse.com/'.$script_name.'.php'); ?></textarea>
    </td>
    </tr>
    <tr>
    <td align="center" style="padding:2px">
    <input name="submit" type="submit" id="speichern" value="Speichern" />
    <input name="loeschen" type="reset" id="loeschen" value="Zur&uuml;cksetzen" /><br />
    <a href="editor_pub.php"><input type=submit name=sbm value=Back></a>
    <input name="sbm" type="submit" value="Close" onClick="self.close()" />
    </td>
    </tr>
    </table>
    </form>
    <?php
    }
    else
    {
    ?>
    <div class="line">
    <p><strong>Script-Editor Public-Directory:</strong></p>
    </div>
    <form action="editor_pub.php" method="post">
    <table>
    <tr>
    <td style="padding:2px"><p>Bitte Script auswählen:</p></td>
    </tr>
    <tr>
    <td style="padding:2px"><strong>Script-Name:</strong></td>
    <td style="padding:2px"><select id="auswahl" name="script_name">
    <option value="option1">Option1</option>
    <option value="option2">Option2<option></select>
    </td>
    </tr>
    <tr>
    <td>
    <input name="Submit" type="submit" value="Enter" />
    <input name="sbm" type="submit" value="Close" onClick="self.close()" />
    </td>
    </tr>
    </table>
    </form>
    <?
    }
    ?>
    </body>
    [/CODE]

    Es ist im Grunde 1:1 dasselbe Script wie vorher, nur dass ich eben nicht aufs "Scripts" Verzeichnis, sondern gleich direkt auf die Dateien in meinem /pub/ Ordern zugreife.

  10. #10
    Deins: file_put_contents('http://meineadresse.com/'.$script_name.'.php');
    Meins: file_put_contents('scripts/'.$script_name.'/index_'.$script_name.'.txt', $_POST['text']);

    Merkst was? Dann deine Fehlermeldung "file_put_contents() expects at least 2 parameters,..."

    Du gibst nur einen Parameter an, nämlich in welche Datei er speichern soll. Es fehlt noch das ,$_POST['text'] also das, was er da hineinspeichern soll, gelle!

  11. #11
    PHP-Code:
    file_put_contents('http://meineadresse.com/'.$script_name.'.php'); 
    Hier liegt der Fehler!
    Du hast vielleicht wieder zu schnell Suchen und ersetzen gespielt, denn diese Funktion sieht aus wie die file_get_contents() später im Text.

    file_put_contents() hier braucht zwei Werte! Zuerst den Pfad zur Datei in die du alles schreibst und danach den Inhalt, den du schreibst. Außerdem darf file_put_contents() keine Adresse im WWW sein sondern muss dem Dateipfad des Servers entsprechen.

    PHP-Code:
    file_put_contents('/www/absoluter/pfad/etc/pub/dateiname.txt',$_POST['text']); 
    Musst du halt anpassen^^

  12. #12
    mitaki
    Lucleonhart
    <insert name>


    A2k

  13. #13
    Huch, da war ich aber langsam! Gar nicht bemerkt dass der Wolf schon vor mir was geschrieben hatte^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •