php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2004, 17:29  
Gast
 
Beiträge: n/a
Standard 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
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.11.2004, 18:44  
Gast
 
Beiträge: n/a
Standard

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.
 
Alt 03.11.2004, 21:39  
Gast
 
Beiträge: n/a
Standard

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
 
Alt 04.11.2004, 09:19  
Gast
 
Beiträge: n/a
Standard

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"
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Ergebnis von Formular in iFrame zeigen PsychoEagle HTML, Usability und Barrierefreiheit 2 22.07.2009 21:07
Formular absenden, Query, Daten mitsenden tinchen PHP Tipps 2007 9 01.06.2007 21:04
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
Formular nach absenden leeren Rotti HTML, Usability und Barrierefreiheit 5 27.05.2006 18:38
Formular bei onchange absenden frankys9 HTML, Usability und Barrierefreiheit 3 04.05.2006 14:19
formular includen samspa5 PHP Tipps 2006 13 18.03.2006 11:37
Formular automatisch an anderen Server absenden PHP Tipps 2006 8 28.02.2006 13:29
[Erledigt] formular aus anderem Frame absenden HTML, Usability und Barrierefreiheit 3 26.01.2006 15:37
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
mehrfaches absenden von Formular verhindern nieselfriem PHP Tipps 2005-2 1 24.08.2005 13:50
Formular ausfüllen, absenden zur überprüfung und dann erst . PHP Tipps 2005 8 22.02.2005 18:22
formular wärend der laufzeit auswerten vor dem absenden HTML, Usability und Barrierefreiheit 2 21.02.2005 16:25
Vorschau und Absenden im Formular PHP Tipps 2005 21 20.01.2005 15:11
Im Formular user abfragen? Datenbanken 3 06.01.2005 10:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php formular absenden, php formular vorschau, formular absenden php, formular vorschau, html formular vorschau, formular mit php absenden, html form vorschau, formular vorschau php, formular mit vorschau, html form preview, vorschau formular, html formular mit vorschau, php formular mit vorschau, php vorschau formular, php form preview, php formular abschicken, php html vorschau, http://www.php.de/php-tipps-2004/11666-formular-vorschau-und-absenden-einem.html, php form vorschau, php vorschau

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.