Kontaktformular kann nur wenig Text schicken

Dieses Thema Kontaktformular kann nur wenig Text schicken im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Tobsen086, 20. Sep. 2005.

Thema: Kontaktformular kann nur wenig Text schicken Hallochen! Ich bin grad dabei meine Seite auf XHTML umzubauen. Nun bin ich bei meinem Kontaktformular angekommen....

  1. Hallochen!

    Ich bin grad dabei meine Seite auf XHTML umzubauen. Nun bin ich bei meinem Kontaktformular angekommen. Es ist jetzt auch XHTML valide doch es kann nur sehr wenige Zeichen schicken und ich hab keine Ahnung warum!?! Immerwieder kommt die Fehlermeldung, dass das Textfeld korriegiert werden soll. Erst wenn sehr wenig Text drin steht wird die Mail abgesendet.
    Wie schaffe ich es nun, dass der Benutzer mehr Text schreiben kann?!?

    Code:
    <!-- Anfang Kontakt-Script -->
    <?php
    
    $Zaehler = 0 ; // Zählt die Anzahl der Fehler
    $Falsch =  ; // Nicht korrekte Felder
    
    function TesteText ( $Variable , $TestString , $Feld )
    {
    global $Zaehler ; // zum Schreiben der Variablen erforderlich,
    global $Falsch ; // da Variablen sonst nur in Funktion gültig!!!
    if ( ! ( eregi ( $TestString , trim ( $Variable ) ) ) ) // Funktion prüft Gültigkeit des Feldes
    {
    $Zaehler = $Zaehler + 1 ;
    if ( $Zaehler > 1 ) // Wenn bereits ein nicht korrektes Feld vorhanden:
    {
    $Falsch .= ,  ; // Trennung zum nächsten Feld durch Komma
    }
    $Falsch .= $Feld ;
    }
    }
    
    TesteText ( $Person , ^[a-zäöüß \.-]+$ , Name ) ;
    TesteText ( $EMail , ^[a-z0-9_\.-]{5,30}@[a-z0-9_-]+\.[a-z0-9_\.-]+$ , E-Mail ) ;
    TesteText ($Betreff, ^[a-zäöüß \.-]+$ , Betreff ) ;
    TesteText ($Text, ^[a-zäöüß0-9 \.-]+$ , Text ) ;
    
    switch ( $Empf ) // die E-Mail-Adresse des Empfängers wird nach der Person des Empfängers festgelegt
    {
    case Webmaster :
    $EMailEmpf = XXX@t-online.de ;
    break ;
    case 1. Vorsitzender :
    $EMailEmpf = XXX@gmx.de ;
    break ;
    }
    
    $Gesamt = $Person . $EMail . $Betreff . $Text ; // String mit allen Feldern wird gebildet
    
    if ($Zaehler<>0) // Wenn Fehler vorhanden sind (große Schleife):
    {
    if ( ! ( strlen ( $Gesamt ) ) ) // Wenn noch nichts eingetragen wurde:
    {
    echo <p>Füllen Sie bitte die untenstehenden Felder sorgfältig aus.</p> ;
    }
    elseif ( $Zaehler == 1 ) // Wenn ein Feld nicht korrekt ausgefüllt ist:
    {
    echo <p>Bitte korrigieren oder ergänzen Sie das Feld $Falsch.</p> ; // zeigt String mit nicht korrektem Feld an
    }
    else // Wenn mehrere Felder nicht korrekt ausgefüllt sind:
    {
    echo <p>Bitte korrigieren oder ergänzen Sie die Felder $Falsch.</p> ; // zeigt String mit nicht korrekten Feldern an
    }
    ?>
    					<form action=kon.php method=get>
    					  <table border=0 cellspacing=2 cellpadding=0 width=100%>
    						<tr>
    						  <td nowrap=nowrap align=right>An:</td>
    						  <td> </td>
    						  <td width=100%><select name=Empf size=1><option<?php if ($Empf==Webmaster){echo  SELECTED;}?>>Webmaster</option><option<?php if ($Empf==1. Vorsitzender){echo  SELECTED;}?>>1. Vorsitzender</option></select></td>
    						</tr>
    
    						<tr>
    						  <td nowrap=nowrap align=right>Dein Name:</td>
    						  <td></td>
    						  <td width=100%><input type=text name=Person size=50 maxlength=120 value= /></td>
    						</tr>
    
    						<tr>
    						  <td nowrap=nowrap align=right>E-Mail:</td>
    						  <td></td>
    						  <td width=100%><input type=text name=EMail size=50 maxlength=120 value= /></td>
    						</tr>
    
    						<tr>
    						  <td nowrap=nowrap align=right>Betreff:</td>
    						  <td></td>
    						  <td width=100%><input type=text name=Betreff size=50 maxlength=120 value= /></td>
    						</tr>
    
    						<tr>
    						  <td nowrap=nowrap align=right valign=top>Text:</td>
    						  <td></td>
    						  <td width=100%><textarea cols=40 rows=10 name=Text><?php echo $Text;?></textarea></td>
    						</tr>
    
    						<tr>
    						  <td></td>
    						  <td></td>
    						  <td><input type=submit value=Nachricht versenden name=submit /></td>
    						</tr>
    					  </table>
    <?php
    }
    else // Wenn kein Fehler vorhanden ist (große Schleife)
    {
      $Header=From: $Person <$EMail>\n;
      $Header.=Reply-To: $EMail\n;
      $Header.=X-Mailer: php-FormMailer ([url]www.victoria-seelow.de[/url])\n;
      $Header.=Content-Type: text/plain;
    echo Vielen Dank! Deine E-Mail wurde abgesendet. ;
    mail ( $EMailEmpf, $Betreff, $Text, $Header) ;
    }
    ?>
    <!-- Ende Kontakt-Script -->
    
    Die eMail-Adressen sind in Wirklichkeit anders.

    Oder hier im Einsatz: http://www.victoria-seelow.de/recht/kon.php

    Danke schonmal für jegliche Hilfe!
     
  2. Hi,

    denke, es liegt nich an der Länge des Textes, sondern es geht nicht mehr wenn Zeilenumbrüche drin sind und Schuld dürfter folgender Code sein:
    Code:
    TesteText ($Text, ^[a-zäöüß0-9 \.-]+$ , Text ) ;
    Das Muster passt nicht auf Zeilenumbrüche.

    Bei den preg_XX Funktionen (http://de3.php.net/manual/de/ref.pcre.php) gäb es dazu zwei passende Modifikatoren :) (siehe m und s unter http://de3.php.net/manual/de/reference.pcre.pattern.modifiers.php)

    ereg benutz ich eigentlich nicht, aber vielleicht geht es so (allerdings ungetestet):

    Code:
    TesteText ($Text, ^[a-zäöüß0-9 \.\n-]+$ , Text ) ;
     
  3. ach, wer benutzt den Kommas und son Schrot? :p :)
     
  4. Du ;) ;D
     
  5. Hallo!

    Es lag wirklich an dem Textumbruch. Danke dafür. Das mit dem strip_tags ist interessant. Weiß zwar nicht genau, wie man das verwendet (bin nicht der PHP-Expterte) aber ich hab es mal so gemacht. Und es funktioniert auch so.

    Code:
    TesteText ( $Person , ^[a-zäöüß \.-]+$ , Name ) ;
    TesteText ( $EMail , ^[a-z0-9_\.-]{5,30}@[a-z0-9_-]+\.[a-z0-9_\.-]+$ , E-Mail ) ;
    TesteText ($Betreff, ^[a-zäöüß \.-]+$ , Betreff ) ;
    $Text_mod=strip_tags($Text,'<a>,<img>');
    
    Ist das so korrekt?
    An euch beide erstmal vielen Dank!
    Damit ist das Thema erledigt.
     
  6. wenns funzt ist doch gut und scheint auch richtig zu sein ;)
     
Die Seite wird geladen...

Kontaktformular kann nur wenig Text schicken - Ähnliche Themen

Forum Datum
Outlook Kontaktformular nach Kontaktsuche Windows XP Forum 23. Apr. 2012
Nachrichten vom Kontaktformular werden in Nur Text angezeigt und nicht in HTML. Windows XP Forum 17. Aug. 2009
Kontaktformular gegen Robot-Angriffe sichern Webentwicklung, Hosting & Programmierung 23. Aug. 2008
Kontaktformular auf der Homepage? Webentwicklung, Hosting & Programmierung 11. Dez. 2007
Kontaktformular Windows XP Forum 5. Juni 2007