Avatar billede charmander1978 Nybegynder
11. december 2007 - 08:56 Der er 36 kommentarer

Gør kontaktformular mail pæn

Jeg har haft kigget på denne: http://www.eksperten.dk/spm/770557

Men når jeg tilretter den så den passer til mit behov får jeg fejl.

Er der en der har lyst til at hjælpe mig med at tilrette den - for det fungere jo skide godt.

Jeg har 2 kontaktformularer:
http://www.masterdoor.dk/sider/05-opmaaling/opmaaling.php
http://www.masterdoor.dk/sider/06-kontakt/bestil_brochure.php
Avatar billede dmdisco Nybegynder
11. december 2007 - 10:17 #1
hvilke fejl får du?
Avatar billede charmander1978 Nybegynder
11. december 2007 - 10:50 #2
Jeg får fejl i en linie og selv om jeg retter så fejlen ikke kommer - så kommer der ikke nogen af de intastet dataer med i mailen.

http://www.masterdoor.dk/bestil_brochure.php
Avatar billede dkfire Nybegynder
11. december 2007 - 10:56 #3
Tror du ikke det vil være en idé at vise noget kode, ellers bliver det meget svært at hjælpe dig.
Avatar billede charmander1978 Nybegynder
11. december 2007 - 10:57 #4
<?
}

function _send($to, $data) {
    $subject = $data['emne'];
    $headers = 'From: '.$data['navn'].' <'.$data['email'].'>';
    $message = 'Besked fra kontakt formularen

Vippeport:    '.$data['vippeport'].'
Ledhejseport:    '.$data['ledhejseport'].'
Ledhejseport Industri:    '.$data['ledhejseport_industri'].'
Hurtigk&oslash;rendeport:    '.$data['hurtigk&oslash;rendeport'].'
Rulleport:    '.$data['rulleport'].'
Foldeport:    '.$data['foldeport'].'
St&aring;lskydeport:    '.$data['st&aring;lskydeport'].'
Navn:    '.$data['navn'].'
Adresse:    '.$data['adresse'].'
Post nr. By:    '.$data['postnrby'].'
E-mail:  '.$data['email'].'
Telefon: '.$data['telefon'].'

'.$data['besked'];

    mail($to, $subject, $message, $headers);
}

function _data() {
    return array(
        'vippeport' => $_POST['vippeport'] 
    'ledhejseport' => $_POST['ledhejseport']
    'ledhejseport_industri' => $_POST['ledhejseport_industri']
    'hurtigk&oslash;rendeport' => $_POST['hurtigk&oslash;rendeport']
      'rulleport' => $_POST['rulleport']
      'foldeport' => $_POST['foldeport']
        'st&aring;lskydeport' => $_POST['st&aring;lskydeport']
       
      'navn' => $_POST['navn'],
      'adresse' => $_POST['adresse'],
      'postnrby' => $_POST['postnrby'],
  'telefon' => $_POST['telefon'],
  'email' => $_POST['email'],
       
       
    );
}

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('cl@it-mark.dk', $data);
        print 'Tak for din henvendelse, vi har modtaget din besked';
    }
} else {
    printform(array(), array());
}

?>
Avatar billede dkfire Nybegynder
11. december 2007 - 11:02 #5
function _data() {
    return array(
        'vippeport' => $_POST['vippeport'],
    'ledhejseport' => $_POST['ledhejseport'],
    'ledhejseport_industri' => $_POST['ledhejseport_industri'],
    'hurtigk&oslash;rendeport' => $_POST['hurtigk&oslash;rendeport'],
      'rulleport' => $_POST['rulleport'],
      'foldeport' => $_POST['foldeport'],
        'st&aring;lskydeport' => $_POST['st&aring;lskydeport'],
      'navn' => $_POST['navn'],
      'adresse' => $_POST['adresse'],
      'postnrby' => $_POST['postnrby'],
  'telefon' => $_POST['telefon'],
  'email' => $_POST['email']
    );
}
Avatar billede dkfire Nybegynder
11. december 2007 - 11:04 #6
Men ellers, husk lige at beskrive hvilken linje som du får fejl på, dete r jo lige svært at se ud fra det du viser.
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:06 #7
Nu melder den ikke fejl - men vil ikke sende
Avatar billede dkfire Nybegynder
11. december 2007 - 11:11 #8
Et variabelnavn som denne: hurtigk&oslash;rendeport er nok ikke super smart.

Hvorfor tror du den ikke vil sende ??
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:13 #9
har lige testet den, for det første kommer der ikke den der besked "Tak for din henvendelse, vi har modtaget din besked" og for det andet modtager jeg ikke nogen mail i min indboks
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:13 #10
nej retter lige navnet
Avatar billede dkfire Nybegynder
11. december 2007 - 11:16 #11
Jamen hvad kommer der så i stedet for den besked du forventer ??
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:19 #12
ikke noget - den blinker bare lige en gang og så er der ellers samme skærmbillede med det jeg har udfyldt
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:19 #13
Eller den smider mine krydser væk som jeg har sat ud for produkter samt post nr og by - du må meget gerne afprøve formularen
http://www.masterdoor.dk/bestil_brochure.php
Avatar billede dkfire Nybegynder
11. december 2007 - 11:21 #14
Hvordan ser din printform funktion ud ??
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:24 #15
Er det denne?

if($_POST['submitted']) {
    $data = _data();
    $errors = _validate($data);
    if(count($errors)) {
        printform($data, $errors);
    } else {
        _send('min@mail.dk', $data);
        print 'Tak for din henvendelse, vi har modtaget din besked';
    }
} else {
    printform(array(), array());
}

?>
Avatar billede dkfire Nybegynder
11. december 2007 - 11:25 #16
Alle dine checkboxe mangler en value værdi
Avatar billede dkfire Nybegynder
11. december 2007 - 11:25 #17
Nej det er din printform() funktion jeg vil se.
Avatar billede dkfire Nybegynder
11. december 2007 - 11:27 #18
Og så mangler du en mulighed for at indtast et emne.
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:30 #19
Er det så den har?

function printform($data, $errors) {
    ?><form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    Vælg Produkt<br>Garageporte<br>
    <? if($errors['navn']) print '<b>'.$errors['navn'].'</b><br>'; ?>
      <input type="checkbox" name="vippeport" value="<?=$data['vippeport'];?>">&nbsp; Vippeport<br>
    <input type="checkbox" name="ledhejseport" value="<?=$data['ledhejseport'];?>">&nbsp; Ledhejseport<br>
    Industriporte<br>
    <input type="checkbox" name="ledhejseport_industri" value="<?=$data['ledhejseport_industri'];?>">&nbsp;Ledhejseport<br>
    <input type="checkbox" name="hurtigk&oslash;rendeport" value="<?=$data['hurtigkorendeport'];?>">&nbsp;Hurtigk&oslash;rendeport<br>
    <input type="checkbox" name="rulleport" value="<?=$data['rulleport'];?>">&nbsp;Rulleport<br>
    <input type="checkbox" name="foldeport" value="<?=$data['foldeport'];?>">&nbsp;Foldeport<br>
    <input type="checkbox" name="st&aring;lskydeport" value="<?=$data['staalskydeport'];?>">&nbsp;St&aring;lskydeport
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:31 #20
"Og så mangler du en mulighed for at indtast et emne."

Den mulighed skal de ikke ha
Avatar billede dkfire Nybegynder
11. december 2007 - 11:33 #21
Jamen så skal du jo heller ikke tjekke som der er indtastet et emne vel.

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'; // <<---- kig her
    if(!$data['besked']) $errors['besked'] = 'Besked skal udfyldes';
    return $errors;
}
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:34 #22
*genert* ups den havde jeg ikke lige set
Avatar billede dkfire Nybegynder
11. december 2007 - 11:39 #23
Og husk, en checkbox _skal_ have en value, eller virker de ikke.

<input type="checkbox" name="vippeport" value="1" <?php $data['vippeport']?'checked="checked"':''; ?>">
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:39 #24
Så nu modtager jeg fint en mail - og der er dataer til navn og adresse osv i - men hvorda nfår jeg de ntil at vise hvilke porte man gerne vil have brochure på?
Avatar billede charmander1978 Nybegynder
11. december 2007 - 11:40 #25
Årh det prøver jeg lige
Avatar billede charmander1978 Nybegynder
11. december 2007 - 12:03 #26
Jeg får fejl når jeg indsætter den linie
<input type="checkbox" name="vippeport" value="1" <?php $data['vippeport']?'checked="checked"':''; ?>">
Avatar billede dkfire Nybegynder
11. december 2007 - 12:15 #27
Sikkert mig som har lavet fejl, to sek.
<input type="checkbox" name="vippeport" value="1" <?php ($data['vippeport'] == 1)?'checked="checked"':''; ?>">
Avatar billede charmander1978 Nybegynder
11. december 2007 - 12:26 #28
Du er sikkert snart træt af mig - men nu viser den fint nok at jeg gerne vil have en brochure på Vippeporte i min mail - men på selvekontaktformularen der viser den kun en checkbox men ikke navnet - jeg har prøvet med at sætte echo ind - men det virker ikke rigtig - kan altså godt mærke at mit meget lille kendskab til php er rustent
Avatar billede dkfire Nybegynder
11. december 2007 - 12:30 #29
prøv at vise din kode til printform igen ;-)
Avatar billede charmander1978 Nybegynder
11. december 2007 - 12:37 #30
function printform($data, $errors) {
    ?><form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    Vælg Produkt<br>Garageporte<br>
    <? if($errors['navn']) print '<b>'.$errors['navn'].'</b><br>'; ?>
    <input type="checkbox" name="vippeport" value="1" <?php ($data['vippeport'] == 1)?'checked="checked"':''; ?>"> &nbsp;Vippeport" <br>
    <input type="checkbox" name="ledhejseport" value="<?=$data['ledhejseport'];?>">&nbsp;Ledhejseport<br>
Avatar billede dkfire Nybegynder
11. december 2007 - 12:41 #31
Prøv lige:
<input type="checkbox" name="vippeport" value="1" <?php ($data['vippeport'] == '1')?'checked="checked"':''; ?> > &nbsp;Vippeport <br>
Avatar billede charmander1978 Nybegynder
11. december 2007 - 12:47 #32
Woohoooooooooooooooooo - det virker *danse*

Nu prøver jeg lige på resten af checkboksene ;O)
Avatar billede charmander1978 Nybegynder
11. december 2007 - 13:01 #33
Så er jeg tilbage igen :O(

Den er ikke så venlig at den også vil virke på de øvrige checkbokse.

function printform($data, $errors) {
    ?><form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    Vælg Produkt<br>Garageporte<br>
    <? if($errors['navn']) print '<b>'.$errors['navn'].'</b><br>'; ?>
    <input type="checkbox" name="vippeport" value="1" <?php ($data['vippeport'] == '1')?'checked="checked"':''; ?> >&nbsp;Vippeport <br>
    <input type="checkbox" name="ledhejseport" value="1" <?php ($data['ledhejseport'] == '1')?'checked="checked"':''; ?> >&nbsp;Ledhejseport <br>
    Industriporte<br>
    <input type="checkbox" name="ledhejeseport_industri" value="1" <?php ($data['ledhejseport_industri'] == '1')?'checked="checked"':''; ?> >&nbsp;Ledhejseport <br>
    <input type="checkbox" name="hurtigkorendeport" value="1" <?php ($data['hurtigkorendeport'] == '1')?'checked="checked"':''; ?> >&nbsp;Hurtigk&oslash;rendeport <br>
    <input type="checkbox" name="rulleport" value="1" <?php ($data['rulleport'] == '1')?'checked="checked"':''; ?> >&nbsp;Rulleport <br>
    <input type="checkbox" name="foldeport" value="1" <?php ($data['foldeport'] == '1')?'checked="checked"':''; ?> >&nbsp;Foldeport <br>
    <input type="checkbox" name="staalskydeport" value="1" <?php ($data['staalskydeport'] == '1')?'checked="checked"':''; ?> >&nbsp;St&aring;lskydeport <br>
Avatar billede charmander1978 Nybegynder
11. december 2007 - 13:03 #34
i den mail jeg modtager, vil den ikke vise de æøå som jeg har skrevet med html koder - skla jeg gøre et eller andet der?

Og så når man bruger æøå i de intastede dataer vises de heller ikke rigtigt - hvad kan jeg gøre for at de bliver vist korrekt?

Besked fra kontakt formularen

Vippeport:    1
Ledhejseport:   
Ledhejseport Industri:   
Hurtigk&oslash;rendeport:   
Rulleport:   
Foldeport:   
St&aring;lskydeport:   
Navn:    Charlotte Lindstedt
Adresse:    æøå
Post nr. By:    5853 Ørbæk
E-mail:  min@email.dk
Telefon: 1111111
Avatar billede dkfire Nybegynder
11. december 2007 - 13:05 #35
Jeg er ikke helt sikker på hvad du mener.
Prøv lige:
<input type="checkbox" name="vippeport" value="1" <?php  echo ($data['vippeport'] == '1')?'checked="checked"':''; ?> > &nbsp;Vippeport <br>
Avatar billede charmander1978 Nybegynder
11. december 2007 - 13:13 #36
Selv om at jeg har sat:
input type="checkbox" name="vippeport" value="1" <?php ($data['vippeport'] == '1')?'checked="checked"':''; ?> >&nbsp;Vippeport <br> ind ved de forskellige checkbokse (har selvfølgelig ændret de forskellige navne) men det er kun ved vippeporte den laver et "1" tal resten kan jeg ikke se

Vippeport:    1
Ledhejseport:   
Ledhejseport Industri:   
Hurtigk&oslash;rendeport:   
Rulleport:   
Foldeport:   
St&aring;lskydeport:   
Navn:    Charlotte Lindstedt
Adresse:    æøå
Post nr. By:    5853 Ørbæk
E-mail:  min@email.dk
Telefon: 1111111
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester