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

  • Gast-Avatar
    Ein Gast erstellte das Thema Formular: Vorschau und Absenden in einem.

    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

  • Gast-Avatar
    Ein Gast antwortete
    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"
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:

Lädt...
X