tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
404
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Hallo Leute,

    habe ein kleines Script welches mir emails an bestimmte Empfänger schickt.

    PHP-Code:
    <?
           $name    
    $_REQUEST['name'];
           
    $from    $_REQUEST['from'];
           
    $subject $_REQUEST['betreff'];
           
    $message $_REQUEST['text'];

           
    $xtra    "From: \"".$name."\" <".$from.">\r\n";

     
    $array file("letter.txt");
     for(
    $i=0$i<count($array); $i++){
         
    $to  $array[$i];
         
    mail($to$subject$message$xtra);
     }
     
    ?>
    Mein Problem ist das die Zeilenumbrüche vom Formular total ignoriert werden.

    Mit nl2br() hab ich es schon versucht aber dann bekommen Leute die nur txt Emails empfangen können unschöne <br> angezeigt.

    Wie kann man das Lösen ?!

    Viele Grüße und Danke.
     

  2. #2
    Avatar von Snowowl
    Snowowl Snowowl ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Burgdorf
    Beiträge
    243
    Hi,
    kannst du vielleicht mal den Code posten?
    Danke
     
    Stur lächeln und winken Männer, lächeln und winken!

  3. #3
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Ok habe Ih oben eingefügt.
    Sorry.

    Gruss
     

  4. #4
    Avatar von Snowowl
    Snowowl Snowowl ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Burgdorf
    Beiträge
    243
    Wie ich sehe übergibst den Mail-text über die URL, oder?
    Ich würde sagen, dass es daran liegt. Man kann in einer URL, also in einem Link auch nicht rechnen!
    Beispiel:
    PHP-Code:
    <?php
    $zahl1 
    4;
    $zahl2 6;
    //DAS GEHT NICHT!
    echo "<a href='http://sonstwas1234.de?ergebnis=$zahl1+$zahl2'>Link</a>";
    //DAS GEHT NICHT!
    ?>
    Gruß,
    Snowowl
     
    Stur lächeln und winken Männer, lächeln und winken!

  5. #5
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    mmmhhh !

    Also "$message" also der Text wird per POST an die Datei geschickt und dort verarbeitet.

    Der Text wird nicht per GET also über die URL übergeben.

    Oder wie meinst Du das ?
    Wie kann man das denn anders machen ? Mir fällt nix ein.

    Gruss
     

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wenn das Formular per Post-Methode übermittelt wird, solltest du auch mit der $_POST-Variable darauf zugreifen.
    Kontrolliere mal mit nachfolgender Funktion, ob die Zeilenumbruchzeichen überhaupt vorhanden sind:
    PHP-Code:
    function cc_replace($string) {

        return 
    preg_replace('<[\x0-\x20\x7F]>es''"&#x".dechex(0x2400+ord("\0")).";"'$string);


     
    Markus Wulftange

  7. #7
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Hallo Gumbo,

    nein die Zeilenumbrüche sind leider unverständlicherweise nicht vorhanden.
    Es wird alles in einer Reihe ausgegeben.

    Das ist echt merkwürdig.
    Gibts vielleicht noch eine Idee, ist sicher wiedermal nur eine Kleinigkeit.

    Gruss
     

  8. #8
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    In welchem Formularelement werden die Werte denn eingegeben? Denn nur in input-Elemente lassen sich Zeilenumbrücke mit der Eingabe-Taste eingeben.
     
    Markus Wulftange

  9. #9
    Avatar von dillen
    dillen dillen ist offline Mitglied
    Registriert seit
    Jan 2006
    Beiträge
    18
    Wenn es ein Textfeld ist (<textarea></textarea>) fügst einfach ein wrap=hard oder wrap=phyikal ein, dann werden Zeilenumbrüche die in diesem Textfeld gemacht werden übernommen.

    Beispiel:
    <textarea name="message" wrap="physikal"></textarea>
     

  10. #10
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Also nichts von all dem klappt.
    Das kann doch einfach nicht sein oder?.

    Wie machen das denn andere mit dem KOntaktformular.

    Habe hier mal den kompletten code, vielleicht entdeckt ja jemand den Fehler wenn er Zeit hat.

    Funktion für das Formular:
    PHP-Code:
    <?
     
    function tep_output_string_protected($string) {
        return 
    tep_output_string($stringfalsetrue);
      }

      function 
    tep_sanitize_string($string) {
        
    $string ereg_replace(' +'' 'trim($string));

        return 
    preg_replace("/[<>]/"'_'$string);
      }

     function 
    tep_not_null($value) {
        if (
    is_array($value)) {
          if (
    sizeof($value) > 0) {
            return 
    true;
          } else {
            return 
    false;
          }
        } else {
          if ((
    $value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) {
            return 
    true;
          } else {
            return 
    false;
          }
        }
      }

    // Parse the data used in the html tags to ensure the tags will not break
      
    function tep_parse_input_field_data($data$parse) {
        return 
    strtr(trim($data), $parse);
      }

      function 
    tep_output_string($string$translate false$protected false) {
        if (
    $protected == true) {
          return 
    htmlspecialchars($string);
        } else {
          if (
    $translate == false) {
            return 
    tep_parse_input_field_data($string, array('"' => '&quot;'));
          } else {
            return 
    tep_parse_input_field_data($string$translate);
          }
        }
      }
    // Output a form textarea field
      
    function tep_draw_textarea_field($name$wrap$width$height$text ''$parameters ''$reinsert_value true) {
        
    $field '<textarea name="' tep_output_string($name) . '" wrap="' tep_output_string($wrap) . '" cols="' tep_output_string($width) . '" rows="' tep_output_string($height) . '"';

        if (
    tep_not_null($parameters)) $field .= ' ' $parameters;

        
    $field .= '>';

        if ( (isset(
    $GLOBALS[$name])) && ($reinsert_value == true) ) {
          
    $field .= tep_output_string_protected(stripslashes($GLOBALS[$name]));
        } elseif (
    tep_not_null($text)) {
          
    $field .= tep_output_string_protected($text);
        }

        
    $field .= '</textarea>';

        return 
    $field;
      }
    ?>

    Ausgabe der Textarea:
    PHP-Code:
    <? echo tep_draw_textarea_field('bemerkung''hard'5015);?>

    Hier werden die Daten verarbeitet:
    PHP-Code:
    mail('meine@mailadresse.de''Kontaktanfrage',
             
    '------------------------------------------------------' "\n\n" .
             
    'Anrede:' "\t\t" $_REQUEST['anrede']. "\n" .
             
    'Name:' "\t\t\t" $_REQUEST['nachname']. "\n" .
             
    'Vorname:' "\t\t" $_REQUEST['vorname']. "\n" .
             
    'Email:' "\t\t" $_REQUEST['email']. "\n\n" .

             
    'IP:' "\t\t\t" $_SERVER['REMOTE_ADDR']. "\n\n" .

             
    'Mitteilung:' "\t" $_POST['bemerkung'] . "\n".
             
    '------------------------------------------------------' "\n\n",
      
    "From: ".$_REQUEST['email']." <".$_REQUEST['email'].">"); 

    Bin für jeden Tipp dankbar.
     

Ähnliche Themen

  1. div Grenzen werden ignoriert
    Von Sprint im Forum CSS
    Antworten: 2
    Letzter Beitrag: 23.08.09, 19:15
  2. Tastaturbefehle werden ignoriert!
    Von xtratz im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 10.05.07, 00:11
  3. Antworten: 6
    Letzter Beitrag: 27.07.06, 08:43
  4. Anführungszeichen werden ignoriert ?!
    Von toboli im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.02.04, 19:27
  5. Höhenangaben werden ignoriert!
    Von ..ooOOipOOoo.. im Forum CSS
    Antworten: 1
    Letzter Beitrag: 02.06.02, 16:56