Support » Ohjeet ja vianmääritys » Ääkköset ei toimi kaavakkeessa

  • Hei!
    Sähköpostiin lähetettävät ää:t ja öö:t eivät toimi.
    tässä koodi johon sivuilla kirjoitetaan:
    ’form action=”mailsender.php” enctype=”application/x-www-form-urlencoded” method=”post”>
    <fieldset> <legend>Lähetä viestiä</legend>
    <fieldset> <input id=”name” name=”name” size=”35″ type=”text” /> Nimi</fieldset>
    <fieldset> <input id=”city” name=”city” size=”35″ type=”text” /> Paikkakunta</fieldset>
    <fieldset> <input id=”phone” name=”phone” size=”35″ type=”text” /> Puhelin</fieldset>
    <fieldset> <input id=”email” name=”email” size=”35″ type=”text” /> Sähköposti</fieldset>
    <fieldset>Kommentti <textarea id=”text” cols=”46″ rows=”5″ name=”text”></textarea></fieldset>
    <input id=”submit” class=”button margin” name=”submit” type=”submit” value=”Lähetä” /> <input id=”reset” class=”button” name=”reset” type=”reset” value=”Tyhjennä” /></fieldset>
    </form>’

Esillä 8 vastausta, 1 - 8 (kaikkiaan 8)
  • Ei taida riippua lomakkeesta, vaan siitä, mitä lomakkeenkäsittelijä tekee. Sähköpostissa ääkköset menevät herkästi sekaisin.

    Thread Starter Maukka 2010

    (@maukka-2010)

    Tällainen on käsittelijä:
    ’<?php
    // Lähetä lomakkeen tiedot tähän osoitteeseen:
    $osoite = ’xxxxxn@gmail.com’;

    // Palauta selain lähetyksen jälkeen osoitteeseen:
    $paluu = ’http://www.xxxxx.fi/index.php?page_id=182&#8217;;

    // First, make sure the form was posted from a browser.
    // For basic web-forms, we don’t care about anything
    // other than requests from a browser:
    if(!isset($_SERVER[’HTTP_USER_AGENT’])){
    header(”HTTP/1.0 403 Forbidden”);
    exit;
    }

    // Make sure the form was indeed POST’ed:
    // (requires your html form to use: action=”post”)
    if(!$_SERVER[’REQUEST_METHOD’] == ”POST”){
    header(”HTTP/1.0 403 Forbidden”);
    exit;
    }

    // Attempt to defend against header injections:
    $characterSet = ”UTF-8”;
    $badStrings = array(”Content-Type:”,
    ”MIME-Version:”,
    ”Content-Transfer-Encoding:”,
    ”bcc:”,
    ”cc:”);

    // Loop through each POST’ed value and test if it contains
    // one of the $badStrings:
    foreach($_REQUEST as $k => $v){
    foreach($badStrings as $v2){
    if(stripos($v, $v2) !== false){
    header(”HTTP/1.0 403 Forbidden”);
    exit;
    }
    }
    }

    $aihe = ’Palaute nettisivulta!’;
    $headers = ’From: ’.$_POST[’name’].’ <’.$_POST[’email’].’>’;
    $viesti = ”Lähettäjä: ”.$_POST[’name’].”\n\nOsoite:\n”.$_POST[’street’].”\n”.$_POST[’city’].”\n\nEmail: ”.$_POST[’email’].”\nPuhelin: ”.$_POST[’phone’].”\n\n—-\n”.$_POST[’text’];
    mail($osoite, $aihe, $viesti, $headers);
    header(’location:’.$paluu);
    ?>’
    Tulos on tämä: Ć„iti Pitäisi lukea Äiti!

    Jep, lomakkeenkäsittelijässä ei määritellä ääkkösiä tukevaa merkistöä.

    Lisääpä ennen riviä

    $viesti = "Lähettäjä:

    tämä:

    $headers .= "\r\n" . 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    Toimiskohan tuolla…

    Thread Starter Maukka 2010

    (@maukka-2010)

    Hei!

    En osannu tai en ainakaan saanu toimimaan.
    Vikailmoitus tuli:
    Parse error: syntax error, unexpected ’.’ in /home/teampura/public_html/mailsender.php on line 45
    Minä olla tyhmä enkä osannu poistaa pistettä ku en tienny mikä oli liikaa?

    Joku virhe sinne tuli, mutta kun en ole ihan varma, mitä tuolla rivillä 45 on, niin en osaa heti sanoa. Pistäpä se loppuosa vielä uudestaan, muutosten kera.

    Thread Starter Maukka 2010

    (@maukka-2010)

    Juu!

    Huomasin, miten typerästi minä sen sinne kopioin eli näin:
    ’$aihe = ’Palaute nettisivulta!’;
    $headers = ’From: ’.$_POST[’name’].’ <’.$_POST[’email’].’>’;
    $headers = .”\r\n” . ’Content-type: text/html; charset=iso-8859-1’ . ”\r\n”;
    $viesti = ”Lähettäjä: ”.$_POST[’name’].”\n\nOsoite:\n”.$_POST[’street’].”\n”.$_POST[’city’].”\n\nEmail: ”.$_POST[’email’].”\nPuhelin: ”.$_POST[’phone’].”\n\n—-\n”.$_POST[’text’];

    mail($osoite, $aihe, $viesti, $headers);
    header(’location:’.$paluu);’

    Mistä herja tuli on tuo jälkimmäinen $headers rivi.
    Tyhmästi sen laitoin, mutku en oo niin guru kun pitäis, mutta ymmärrän nyt kun ajattelen asiaa, että tuon ekan $headers rivin perään ois pitäny kopioida nuita kärpäsen paskoja. No kerro mulle tarkemmat ohjeet. Kiitos vaivasta!

    No siellähän se kirjoitusvirhe. Huomaa, että minun koodissani lukee $headers .=, sinun koodissasi $headers = .. Siinä on vissi ero, sillä .= on konkatenaatio-operaattori ja = . vaan kirjoitusvirhe =) Tuon kun fiksaat, niin voi jo toimiakin.

    Thread Starter Maukka 2010

    (@maukka-2010)

    Kiitos ja anteeks!

Esillä 8 vastausta, 1 - 8 (kaikkiaan 8)
  • The topic ‘Ääkköset ei toimi kaavakkeessa’ is closed to new replies.