Jeg har lavet en form, hvor man kan indtaste nogle oplysninger, som så bliver videresendt til en mail.
Her er jeg stødt på to problemer, som jeg håber i kan hjælpe mig med.
1) Når de indtastede data sendes til mail adressen, så kan æ, ø og å ikke læses. Resultatet bliver: Ã¥ og ø og æ
2) Når man klikker på send-knappen, for at sende de indtastede data til mail-adressen, så bliver man sendt op i toppen af hjemmesiden. Her ønsker jeg at man bliver ved formularen, så kan ikke skal scrolle ned for at læse meddelelsen om at de indtastede data er blevet sendt til mail-adressen.
Her er den kode som jeg anvender:
Kode: Vælg alt
<?php
$server = "***";
$brugernavn = "***";
$kode = "***";
$db = "***";
mysql_connect($server , $brugernavn , $kode) or die(mysql_error());
echo "";
mysql_select_db($db) or die(mysql_error());
echo "";
function printform($data, $errors) {
?>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
<div style=" height: 22px;"><label style=" line-height: 25px">
<? if($errors['navn']) print '<b>'.$errors['navn'].'</b><br>'; ?>
Navn:</label> <input class="input_txt" value="<?=$data['navn'];?>" name="navn" type="text"></div>
<div style="height:6px"></div>
<div style=" height: 22px;"><label style=" line-height: 25px">
Telefon:</label> <input class="input_txt" value="<?=$data['telefon'];?>" name="telefon" type="text"></div>
<div style="height:6px"></div>
<div style=" height: 22px;"><label style=" line-height: 25px">
<? if($errors['email']) print '<b>'.$errors['email'].'</b><br>'; ?>
E-mail:</label> <input class="input_txt" value="<?=$data['email'];?>" name="email" type="text"></div>
<div style="height:6px"></div>
<div style=" height: 22px;"><label style=" line-height: 25px">
<? if($errors['emne']) print '<b>'.$errors['emne'].'</b><br>'; ?>
Emne:</label> <input class="input_txt" value="<?=$data['emne'];?>" name="emne" type="text"></div>
<div style="height:6px"></div>
<div><textarea name="besked" style="width: 269px; height: 54px;"name="besked" class="text_area" cols="32" rows="3" name="besked"><?=htmlentities($data['besked']);?></textarea></div>
<? if($errors['besked']) print '<b>'.$errors['besked'].'</b><br>'; ?>
<div style="height:5px"></div>
<div style="height:5px;">
<input class="submit" type="submit" name="submitted" value="Send"> </div>
</form>
<?
}
function _send($to, $data) {
$subject = $data['emne'];
$headers = 'From: '.$data['navn'].' <'.$data['email'].'>';
$message = 'Besked fra formular.
Navn: '.$data['navn'].'
E-mail: '.$data['email'].'
Telefon: '.$data['telefon'].'
'.$data['besked'];
mail($to, $subject, $message, $headers);
}
function _data() {
return array(
'navn' => $_POST['navn'],
'telefon' => $_POST['telefon'],
'email' => $_POST['email'],
'emne' => $_POST['emne'],
'besked' => $_POST['besked']
);
}
function _validate($data) {
$errors = array();
if(!$data['navn']) $errors['navn'] = 'Navn skal udfyldes';
if(!$data['email']) $errors['email'] = 'E-mail skal udfyldes';
if(!$data['emne']) $errors['emne'] = 'Emne skal udfyldes';
if(!$data['besked']) $errors['besked'] = 'Besked skal udfyldes';
return $errors;
}
if($_POST['submitted']) {
$data = _data();
$errors = _validate($data);
if(count($errors)) {
printform($data, $errors);
} else {
_send('ukendt@mail.dk', $data);
print 'Tak for din henvendelse, vi har modtaget din besked.';
}
} else {
printform(array(), array());
}
?>


