PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   Support (http://www.selfphp.de/forum/forumdisplay.php?f=17)
-   -   Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular (http://www.selfphp.de/forum/showthread.php?t=15950)

1two1 25.01.2007 14:03:02

Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Hallöchen!

Habe mich nun extra wegen dem Problem hier angemeldet, und ich hoffe mir kann jemand helfen :)

Also: Ich möchte das Formular als Kontakt Möglichkeit nutzen, es klappt auch alles, nur beim punkt "Alles ist in Ordnung, Daten können gespeichert werden" hört es bei mir mit dem wissen auf! Ich möchte also das die daten ausgelesen werden und dann eine email an mich geht, und eine an dem, der das Formular ausgefüllt hat. Was in meinen Alten Kontaktformularen immer wie folgt aussah:

PHP-Code:

        $email_empfaenger 'info@staystyle.de'
        
$email_betreff 'Service & Kontakt - StayStyle.de'
        
        
$firstname $_POST['firstname']; 
        
$lastname $_POST['lastname']; 
        
$email $email
        
$text $_POST['text']; 
        
$telefon $_POST['telefon']; 
        
$anrede $_POST['gender'];
        
        
        
$nachricht 
        Diese Email wurde Verfasst von "
$gender ." "$firstname ." "$lastname ."
        
        PERSÖNLICHE INFOS: ###################################
        
        Anrede:                "
$gender ."
        Vor & Nachname:         "
$firstname ." "$lastname ."
        Email:                 "
$email ."
        
        Telefon:             "
$telefon ."
        
        #######################################################
        
        
        
        NACHRICHT: ############################################
        
        "
$text ."
        
        
        "
;
        
        
$nachricht_absender "
        Hallo "
$gender ." "$firstname ." "$lastname ."!
        Vielen Dank für ihre Kontakt Anfrage an StayStyle.de!
        Wir werden versuchen ihre Frage(n) schnellstmöglich zu Beantworten.
        Sie erhalten die Antwort an die Angegeben E-Mail Adresse.
        \n
        Mit freundlichen Grüssen,
        StayStyle.de
        
        ### DIESE EMAIL WURDE AUTOMATISCH GENERIERT, SIE KÖNNEN BEI WEITEREN FRAGEN AUF DIESE E-MAIL ANTWORTEN ###
        
        "


Den Code habe ich direkt unter folgendes gehaun.

PHP-Code:

        // Alles ist in Ordnung
        // Daten können gespeichert werden 


Mein Eigentliches Formular sieht wie folgt aus:

PHP-Code:

<FORM action="index.php/bereich/service-kontakt#form" method=post>
        <a name="form"></a><br>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td><?PHP echo $errorMessage?></td>
          </tr>
          <tr> 
            <td>
            <!-- Formular Anfang -->
              <table width="100%" border="0">
                <TR class="table"> 
                  <TH align=left bgcolor="efefef">Firma:</TH>
                  <TD><INPUT class="inputField" size="60" name="company" value="<?PHP echo $_POST['company']; ?>"></TD>
                </TR>
                <tr> 
                  <td width="30%" height="0" bgcolor="efefef"><?PHP echo $errorPicture['gender']; ?><strong>Anrede: 
                    *</strong></td>
                  <td width="70%"><SELECT size="1" name="gender" class="<?PHP echo $errorClass['gender']; ?>">
                      <OPTION value="" <?PHP if(empty($_POST['gender'])) echo 'selected'?>>Bitte 
                      ausw&auml;hlen</OPTION>
                      <OPTION value="3" <?PHP if($_POST['gender'] == "3") echo 'selected'?>>Firma</OPTION>
                      <OPTION value="2" <?PHP if($_POST['gender'] == "2") echo 'selected'?>>Frau</OPTION>
                      <OPTION value="1" <?PHP if($_POST['gender'] == "1") echo 'selected'?>>Herr</OPTION>
                    </SELECT></td>
                </tr>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['firstname']; ?>Vorname:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['firstname']; ?>" name="firstname" value="<?PHP echo $_POST['firstname']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['lastname']; ?>Nachname:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['lastname']; ?>" name="lastname" value="<?PHP echo $_POST['lastname']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef">Telefon:</TH>
                  <TD><INPUT class="inputField" name="telefone" value="<?PHP echo $_POST['telefone']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['email']; ?>Email:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['email']; ?>" name="email" value="<?PHP echo $_POST['email']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left valign="top" bgcolor="efefef"><?PHP echo $errorPicture['text']; ?>Ihre 
                    Nachricht :</TH>
                  <TD><textarea name="text" cols="30" rows="6" class="<?PHP echo $errorClass['text']; ?>"><?PHP echo $_POST['text']; ?></textarea></TD>
                </TR>
              </table></td>
          </tr>
          <tr>
            <td height="20">&nbsp;</td>
          </tr>
          <tr> 
            <td height="20" background="img/dot.gif">&nbsp; </td>
          </tr>
          <tr> 
            <td height="20"><INPUT name="submit" type="submit" value="Formular Absenden" class="button">
            </td>
          </tr>
        </table>
        <br>
        <!-- Formular Ende -->
      </form>

Wie gesagt, ich hätte es nun gerne, das er nach drücken des "Abschicken" Buttons die email's verschickt, und dann den Text ausgibt der im Script vordefiniert ist.

Leider aber passiert gar nix, die Daten bleiben einfach alle Drin stehen und nichts passiert.

Habe ich was völlig falsch gemacht oder woran liegt das?! Ich bin PHP Anfänger ³ und fuchse mich zurzeit überall ein wenig durch.

Über jede Art von Hilfe wäre ich dankbar!

Gruß,
Thomas

1two1 26.01.2007 11:36:54

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Hat niemand ne Ahnung oder hab ich es falsch erklärt?! :(

Gruß,
Thomas

Raketenmann 26.01.2007 13:06:41

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Bist du sicher, dass mit dem "action"-Attribut des einleitenden "form"-Tags alles in Ordnung ist?

Wenn du als "method" "POST" verwendest, kannst du nicht über das "action"-Attribut "GET" Variablen übergeben - nur eines von beiden ist möglich. Mal abgesehen davon, dass "GET" Variablen nicht so übergeben werden!

Wenn du hingegen gar nichts im "action"-Attribut transportieren wolltest, solltest du mal Pfad und Dateiname in die richtige Reihenfolge bringen, dann wird das Formular auch gesendet.


Ganz allgemein würde ich an deiner Stelle die Formulareingaben mit JavaScript prüfen...

Damir 26.01.2007 13:23:29

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Hi,

also Javascript finde ich den denkbar falschesten Ansatz zur Überprüfung. Ist es beim User deaktiviert dann funktioniert nämlich gar nichts.

So und jetzt zuim anderen Problem. Was passiert den überhaupt nach dem Senden??? Läuft die Fehlerüberprü´fung auch richtig durch???? Mach doch einfach mal ein echo rein um zu sehen ob es durchgeht. Ich hatte vor kurzem jemanden mit einem ähnlichen Problem, er hatte allerdings vergessen bei der Überprüfung ein Pflichtfeld zu deaktivieren, da er dieses nicht hatte....

Damir

1two1 26.01.2007 14:24:55

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Javascript Abfragung hatte ich sonst immer.

Die Action vom tag ist auch korrekt, da die seite in die index.php rein geladen wird und über index.php/bereich/service-kontakt aufgerufen wird.

Die Abfragung klappt einwandfrei und ohne Probleme, es wird am ende kein fehler angezeigt.

Die Texte bleiben einfach am ende alle im Feld stehen, und nichts passiert.

Doch eigentlich sollte ja wenn alles korrekt ist die Info ausgegeben werden das alles gut ist + Mails versenden. Aber das tut es ja leider nicht...

Gruß,
Thomas

Damir 26.01.2007 14:49:27

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Und das wollte ich ja wissen... pack doch einfach mal ein echo anstatt dem Mailversand rein..... Was auch sehr hilfreich wäre, poste mal den ganzen Code der Seite, dann lässt sich der Fehler schnell finden...

1two1 26.01.2007 17:10:37

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Also ein echo habe ich mal reingehaun, und wenn alles ok ist, wird es auch ausgegeben. Aber auch nur das echo, nicht der eigentlich text der erscheinen soll wenn alles "ok" ist!

Hier nun mal der ganze code, habe tabelen die unwichtig sind weggelassen


PHP-Code:

<?PHP

$script 
'http://' $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];

$errorFields = array('firstname',
                     
'lastname',
                     
'email',
                     
'gender',
                     
'text'
                     
);    

for(
$x=0;$x<count($errorFields);$x++)
{
    
$errorClass[$errorFields[$x]] = 'inputField';
}

if(isset(
$_POST['submit']))
{
    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
    
        if(empty(
$_POST[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errorField';
            
$errorPicture[$value] = '<img src="img/achtung_klein.gif">&nbsp;';
        }
    
    }

}

if(
$_GET['check'] == "TRUE")
{
    
$errorMessage '<table width="100%" class="errorTable"><tr><td><b>
                                     Ihre Bestellung war erfolgreich!</b><br><br>
                                     Vielen Dank für Ihre Bestellung des Jahresabos. 
                                     Ihre Daten wurden weitergeleitet.</td></tr></table><br>'
;
}

if(isset(
$_POST['submit'])){
    
    if(
$error == TRUE)
    {
        
$errorMessage '<table width="100%" class="errorTable"><tr><td>
                                         <img src="img/achtung_gross.gif"></td><td><b>Achtung!</b><br>
                                         Es ist zu einem Fehler gekommen. Bitte füllen Sie alle 
                                         farblich markierten Pflichtfelder aus.</td></tr></table><br>'
;
    }
    else
    {
        
        
// Alles ist in Ordnung
        // Daten können gespeichert werden
        
        
$email_empfaenger 'info@staystyle.de'
        
$email_betreff 'Service & Kontakt - StayStyle.de'
        
        
$firstname $_POST['firstname']; 
        
$lastname $_POST['lastname']; 
        
$email $email
        
$text $_POST['text']; 
        
$telefon $_POST['telefon']; 
        
$anrede $_POST['gender'];
        
        
        
$nachricht 
        Diese Email wurde Verfasst von "
$gender ." "$firstname ." "$lastname ."
        
        PERSÖNLICHE INFOS: ###################################
        
        Anrede:                "
$gender ."
        Vor & Nachname:         "
$firstname ." "$lastname ."
        Email:                 "
$email ."
        
        Telefon:             "
$telefon ."
        
        #######################################################
        
        
        
        NACHRICHT: ############################################
        
        "
$text ."
        
        
        "
;
        
        
$nachricht_absender "
        Hallo "
$gender ." "$firstname ." "$lastname ."!
        Vielen Dank für ihre Kontakt Anfrage an StayStyle.de!
        Wir werden versuchen ihre Frage(n) schnellstmöglich zu Beantworten.
        Sie erhalten die Antwort an die Angegeben E-Mail Adresse.
        \n
        Mit freundlichen Grüssen,
        StayStyle.de
        
        ### DIESE EMAIL WURDE AUTOMATISCH GENERIERT, SIE KÖNNEN BEI WEITEREN FRAGEN AUF DIESE E-MAIL ANTWORTEN ###
        
        "
;

        
// Seite neu laden und Hinweis anzeigen
        
header("Location: $script?check=TRUE");
    }

}

?>

.
.
###### Unwichtige Tabellen ######
.
.

<FORM method="post" action="index.php/bereich/service-kontakt#form" >
        <a name="form"></a><br>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td><?PHP echo $errorMessage?></td>
          </tr>
          <tr> 
            <td>
            <!-- Formular Anfang -->
              <table width="100%" border="0">
                <TR class="table"> 
                  <TH align=left bgcolor="efefef">Firma:</TH>
                  <TD><INPUT class="inputField" size="60" name="company" value="<?PHP echo $_POST['company']; ?>"></TD>
                </TR>
                <tr> 
                  <td width="30%" height="0" bgcolor="efefef"><?PHP echo $errorPicture['gender']; ?><strong>Anrede: 
                    *</strong></td>
                  <td width="70%"><SELECT size="1" name="gender" class="<?PHP echo $errorClass['gender']; ?>">
                      <OPTION value="" <?PHP if(empty($_POST['gender'])) echo 'selected'?>>Bitte 
                      ausw&auml;hlen</OPTION>
                      <OPTION value="3" <?PHP if($_POST['gender'] == "3") echo 'selected'?>>Firma</OPTION>
                      <OPTION value="2" <?PHP if($_POST['gender'] == "2") echo 'selected'?>>Frau</OPTION>
                      <OPTION value="1" <?PHP if($_POST['gender'] == "1") echo 'selected'?>>Herr</OPTION>
                    </SELECT></td>
                </tr>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['firstname']; ?>Vorname:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['firstname']; ?>" name="firstname" value="<?PHP echo $_POST['firstname']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['lastname']; ?>Nachname:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['lastname']; ?>" name="lastname" value="<?PHP echo $_POST['lastname']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef">Telefon:</TH>
                  <TD><INPUT class="inputField" name="telefone" value="<?PHP echo $_POST['telefone']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left bgcolor="efefef"><?PHP echo $errorPicture['email']; ?>Email:*</TH>
                  <TD><INPUT class="<?PHP echo $errorClass['email']; ?>" name="email" value="<?PHP echo $_POST['email']; ?>"></TD>
                </TR>
                <TR class="table"> 
                  <TH align=left>&nbsp;</TH>
                  <TD>&nbsp;</TD>
                </TR>
                <TR class="table"> 
                  <TH align=left valign="top" bgcolor="efefef"><?PHP echo $errorPicture['text']; ?>Ihre 
                    Nachricht :</TH>
                  <TD><textarea name="text" cols="30" rows="6" class="<?PHP echo $errorClass['text']; ?>"><?PHP echo $_POST['text']; ?></textarea></TD>
                </TR>
              </table></td>
          </tr>
          <tr>
            <td height="20">&nbsp;</td>
          </tr>
          <tr> 
            <td height="20" background="img/dot.gif">&nbsp; </td>
          </tr>
          <tr> 
            <td height="20"><INPUT name="submit" type="submit" value="Formular Absenden" class="button">
            </td>
          </tr>
        </table>
        <br>
        <!-- Formular Ende -->
      </form></td>
  </tr>
</table>


|Coding 28.01.2007 03:14:46

AW: Frage zum "Pflichtfelder bei Fehler farbig hervorheben" formular
 
Ich kann das Problem nicht nachvollziehen!

Wenn ich den Schnipsel einem LocalHorst ausführe, dann bekomme ich die Ausgabe.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:23:50 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.