Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular: Vorschau und Absenden in einem

Einklappen

Neue Werbung 2019

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

  • Formular: Vorschau und Absenden in einem

    Hallo Leute.

    Ich bin gerade am schreiben eines Newsletter-abschicken-formulars. Es läuft zwar, aber ich möchte das anders haben. Im Moment schreibt der Verfasser der Mail erst den Text in ein Formular, klickt dann auf 'Vorschau', kann seinen Text nochmal korrekturlesen und bearbeiten, und dann beim klick auf 'abschicken' wird die Mail gesendet. Doch mir wäre folgendes Schema lieber:

    Benutzer schreibt Mail und kann auf 'Vorschau' oder 'absenden' klicken. Bei der Vorschau wird der Text nochmal auf der Webseite ausgegeben und natürlich im Formular beibehalten. Der User kann sooft er will auf Vorschau klicken, und bei klick auf absenden wird er nach nem Passwort gefragt und klickt auf 'fertigstellen' oder so. Dann wird die Mail gesendet.

    Hier mal ein Link wie es im Moment aussieht (nach klick auf 'Vorschau': http://pelzi.s4.cybton.com/newsletterproblem.jpg

    und hier der Quellcode dazu:
    PHP-Code:
    <?php
        
    require("../../programme/config_db.php");

    // -------VORSCHAU-------
            
    if ($_POST[schritt] == 1){
                if (
    $_POST[Passwort] != "1234") {
                    print 
    "Falsches Passwort

    "
    ;
                    exit();
                }
                
    ?>
                


                [b]Betreff:[/b]

                <font face="Courier"><?php print $_POST[Betreffvorschau]; ?></font>

                [b]Inhalt:[/b]

                <font face="Courier"><?php print nl2br($_POST[Inhaltvorschau]); ?></font>

                <hr>
                <form action='' METHOD="post">
                    Betreff: 
    <INPUT TYPE="text" NAME="Betreff" maxlength="40" size="35" value="<?php print $_POST[Betreffvorschau]; ?>">


                    Inhalt:  
    <textarea name="Inhalt" COLS="80" ROWS="10"><?php print $_POST[Inhaltvorschau]; ?></textarea>



                    Passwort:
    <INPUT TYPE="Password" NAME="Passwort2" maxlength="40" size="35" value="">


                    <INPUT TYPE="hidden" NAME="schritt" maxlength="40" size="35" value="2">
                    
    <input type="submit" value="Absenden">
                </form>
                </p>
                <?php

    // -------SENDEN-------
            
    } elseif ($_POST[schritt] == 2){
                if (
    $_POST[Passwort2] != "1234") {
                    print 
    "Falsches Passwort

    "
    ;
                    exit();
                }

                
    mysql_connect($dbhost$dbuser$dbpasswd) or die("SQL-Error");
                
    $erg mysql($dbname,"SELECT * FROM newsletter_user WHERE bestaetigt = '1'");
                if (!
    $erg) die('Ungültige Abfrage: ' mysql_error());
                while (list(
    $id$mail$name) = mysql_fetch_row($erg)) {
                    
    $header "From:newsletter@domain.de";
                    if (!
    mail($mail,$_POST[Betreff],$_POST[Inhalt],$header)) {
                        print 
    "
    Fehler bei Mailadresse: "
    .$mail."... breche ab";
                        return;
                    } else {
                    print 
    "
    An folgende Person geschickt: <a href=\""
    .$mail."\">".$name."</a>";
                    }
                }
                
    //aufräumen


    // -------EINGABE-------
            
    } else {
                
    ?>
                <form action='' METHOD="post">
                    Betreff: 
    <INPUT TYPE="text" NAME="Betreffvorschau" maxlength="40" size="35" value="">


                    Inhalt:  
    <textarea name="Inhaltvorschau" COLS="80" ROWS="10"></textarea>


                    Passwort:
    <INPUT TYPE="Password" NAME="Passwort" maxlength="40" size="35" value="">


                    <INPUT TYPE="hidden" NAME="schritt" maxlength="40" size="35" value="1">
                    
    <input type="submit" value="Vorschau">
                </form>
                <?php
            
    }
    ?>
    Wie kriege ich das hin, daß es so ist wie ich es weiter oben meine? Meine Erste Hürde sind schon zwei statt ein Submit-Button.

    Danke schonmal an euch
    Tobi

  • #2
    Hallo Götterbote,

    gib den SubmitButtons doch auch NAMEN und dann kannst Du danach die Aktion ausführen.

    PHP-Code:
    <input type="submit" name="vorschau" value="Vorschau">
    <
    input type="submit" name="abschicken" value="Abschicken"
    Dann machst Du am Anfang Deiner Datei :

    PHP-Code:
    if ($vorschau == "Vorschau")
    {
     
    // Zeige wieder das Formular an
    }

    if (
    $absenden == "Absenden")
    {
    // Mail wird verschickt

    MfG

    Andi Z.

    Kommentar


    • #3
      Achso....

      Ja stimmt, das müsste gehen.

      Aber könnte ich dann nicht einfach nur eine Variable nehmen? Also
      PHP-Code:
      <input type="submit" name="auswahl" value="Vorschau"
      <
      input type="submit" name="auswahl" value="Abschicken"
      und dann
      PHP-Code:
      <? 
      if ($_POST[auswahl] == "Vorschau") 

      // Zeige wieder das Formular an 


      if ($_POST[auswahl] == "Absenden") 

      // Mail wird verschickt 
      } ?>
      schreiben?

      Ich werd das morgen mal ausprobieren und ein wenig tüften.

      Besten Dank schonmal.
      Tobi

      Kommentar


      • #4
        Jupp, es klappt wie ich es wollte.

        Wen's interessiert: Hier der code...
        PHP-Code:
        <?php
            
        require("../../programme/config_db.php");

        // -------VORSCHAU-------
                
        if ($_POST[Betreff]){
                    
        ?>
                    


                    [b]Betreff:[/b]

                    <font face="Courier"><?php print $_POST[Betreff]; ?></font>

                    [b]Inhalt:[/b]

                    <font face="Courier"><?php print nl2br($_POST[Inhalt]); ?></font>

                    <hr>
                    </p>

        <?php    }

        // -------SENDEN-------
                
        if ($_POST[Auswahl] == "Absenden"){
                    if (
        $_POST[Passwort] != "1234") {
                        print 
        "Falsches Passwort

        "
        ;
                        return;
                    }

                    
        mysql_connect($dbhost$dbuser$dbpasswd) or die("SQL-Error");
                    
        $erg mysql($dbname,"SELECT * FROM newsletter_user WHERE bestaetigt = '1'");
                    if (!
        $erg) die('Ungültige Abfrage: ' mysql_error());
                    while (list(
        $id$mail$name) = mysql_fetch_row($erg)) {
                        
        $header "From:newsletter@domain.de";
                        if (!
        mail($mail,$_POST[Betreff],$_POST[Inhalt],$header)) {
                            print 
        "
        Fehler bei Mailadresse: "
        .$mail."! Breche ab...";
                            return;
                        } else {
                        print 
        "
        An folgende Person geschickt: <a href=\"mailto:"
        .$mail."\">".$name."</a>";
                        }
                    }

        // -------EINGABE-------
                
        } else {
                    
        ?>
                    


                    <form action='' METHOD="post">
                        Betreff: 
        <INPUT TYPE="text" NAME="Betreff" maxlength="50" size="50" value="<?php print $_POST[Betreff]; ?>">


                        Inhalt:  
        <textarea name="Inhalt" COLS="50" ROWS="15"><?php print $_POST[Inhalt]; ?></textarea>



                        Passwort *:
        <INPUT TYPE="Password" NAME="Passwort" maxlength="40" size="35" value="">


                        
        <input type="submit" name="Auswahl" value="Vorschau"><input type="submit" name="Auswahl" value="Absenden">
                    </form>
                    <div style="font-size : 9px;">* Nur beim Absenden erforderlich</div>
                    </p>
                    <?php
                
        }
                include 
        "../../footer.php"
        ?>

        Kommentar

        Lädt...
        X