1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Textarea verursacht white screen

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von LaserBlaubeere, 16. Mai 2022.

  1. LaserBlaubeere

    LaserBlaubeere New Member

    Registriert seit:
    16. Mai 2022
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo, kurz vor ab: ich habe noch nie zuvor mit Wordpress gearbeitet und auch in PHP und HTML habe ich nicht viel Erfahrung.
    Meine Aufgabe in einem Projekt ist es ein Formular darzustellen, bei dem die Benutzer ihre Eingaben in Textfelder und Textareas speichern können. Ich darf dafür keine fertigen Plugins verwenden, sondern muss eins selber bauen... Die Darstellung der Textfelder funktioniert. Textarea verursacht aber einen white screen, sobald ich mein selbst geschriebenes Plugin installiere.
    Die Stelle mit dem Textarea habe ich auch mal alleine ausprobiert, also ohe die normalen textfelder, alleine funktioniert das und lässt sich darstellen. Aber so zusammen in der FOrm funtkioniert es nicht und ich bin ratlos wo der Fehler liegt.
    Vielen Dank schonmal für die Hilfe!

    Hier mein php code:


    <?php
    function projectcharter_form($p_name, $p_manager, $p_ziel, $p_beteiligte)
    {
    echo '
    <style>
    div {
    margin-bottom:2px;
    }
    input {
    margin-bottom:4px;
    }
    </style>
    ';

    echo '
    <form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
    <div>
    <label for="p_name">Projektname <strong>:</strong></label>
    <input type="text" name="p_name" value="' . ( isset( $_POST['p_name'] ) ? $p_name : null ). '">
    </div>

    <div>
    <label for="p_manager">Projektmanager:in <strong>:</strong></label>
    <input type="text" name="p_manager" value="' . ( isset( $_POST['p_manager'] ) ? $p_manager : null ). '">
    </div>

    <div>
    <label for="p_ziel">Projektziel <strong>:</strong></label>
    <input type="text" name="p_ziel" value="' . ( isset( $_POST['p_ziel'] ) ? $p_ziel : null ). '">
    </div>

    <div>
    <label for="p_beteiligte">Projektbeteiligte</label>
    <textarea name="p_beteiligte" id="p_beteiligte rows="4" cols="50"></textarea>
    </div>

    <input type="submit" name="submit" value="Speichern"/>
    </form>
    ';
    }

    add_shortcode('example_projectcharter','projectcharter_form');
    ?>
     
  2. threadi

    threadi Well-Known Member

    Registriert seit:
    9. Oktober 2020
    Beiträge:
    2.012
    Zustimmungen:
    403
    Hinter

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    fehlt ein doppeltes Anführungszeichen.

    Wenn das nicht ist, wirf einen Blick ins Error-Log. Dort sollte der konkrete Fehler benannt werden.
     
  3. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    1. Ein Shortcode gibt nichts direkt über echo aus sondern den auszugebenden Inhalt am Ende mit return $content; o.ä. zurück, siehe ShortCode API Dokumentation.
    2. Die Anzahl und Art der Parameter des Callbacks projectcharter_form() ist falsch, siehe add_shortcode() Dokumentation
    3. Das Einfügen der $_POST[] Werte in value=".." ist 3x falsch, 1. die einzufügenden Variablen sollten aus $_POST[] gelesen werden, 2. es fehlt esc_attr(), 3. der Fallback sollte leerer String sein, nicht null.
    4. Das action Attribut im form Tag lässt man leer oder weg, wenn die aktuelle Seite als Ziel gedacht ist.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    (2. geändert, 3. & 4. ergänzt, Code ergänzt)
     
    #3 b3317133, 16. Mai 2022
    Zuletzt bearbeitet: 16. Mai 2022
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden