Avatar billede Slettet bruger
07. december 2004 - 10:46 Der er 12 kommentarer og
1 løsning

Probs med et modificeret script

X Jeg havde et script, som jeg har modificeret til det herunder.
Det fungerer godt nok, bortset fra, at når man har udfyldt og sendt og så fortsætter til en ny side, hvor man takkes for det, så er der på denne side også det skema, som man netop har udfyldt.
Håber en kan hjælpe

<?php
if (count($_POST) > 0) {
    trimdata($_POST); //remove whitespace
    extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars
}

if ($submit) {
    //form validation
    $error = array();
    if (!$name) {
        $error[] = "Angiv venligst dit navn";
    }
    if (!$address) {
        $error[] = "Angiv venligst din adresse";
    }
    if (!$zipcode) {
        $error[] = "Angiv venligst dit postnr.";
    }
    if (!$city) {
        $error[] = "Angiv venligst bynavn";
    }

    //only send mail if there's no errors
    if (count($error) == 0) {
        //give user a message depending on checkbox choice
        $message = $name."\n";
        $message  .=$address."\n";
        $message .= $zipcode." ".$city."\n";
        $message .= "\n";
        $message .= "\n".$text_msg."\n";


//        echo $text_msg;
        mail('ntg@mail.dk', 'Tilmelding', $message);
        ;?>
        <p>Tak for din tilmelding<BR><BR><a href="../index.html">Klik her for at fortsætte til forsiden</a></p>
        <?php
    //if errors, give user some info...
    } else {
        echo join("<br>",$error);
    }
}

//show the form, if it is not sent, or errors ocurred


    ?>
    <form action="i.php" method="post">





<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD valign="top">



<TABLE WIDTH="200" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR><TD><span class="txt">
Navn
</TD><TD>
<input type="text" name="name" value="<?= $name?>">
</TD></TR>

<TR><TD><span class="txt">
Gade
</TD><TD>
<input type="text" name="address" value="<?= $address?>">
</TD></TR>


<TR><TD><span class="txt">
Postnr&nbsp;&nbsp;
</TD><TD>
<input type="text" name="zipcode" value="<?= $zipcode;?>">
</TD></TR>


<TR><TD><span class="txt">
By
</TD><TD>
<input type="text" name="city" value="<?= $city?>">
</TD></TR>


</TABLE>

<BR><BR>
        <input type="submit" name="submit" value="Send">
     
    </form>
   

<?php

//this function trims whitespace from all posted values
function trimdr( &$r ){
  if(gettype($r) == "array" ){
      foreach($r as $key => $value){
          trimdr($r[$key]);
      }
  }
  else{
    $r=trim( (string) $r );
  }
}

function trimdata( &$d ){
    trimdr($d);
}
?>
Avatar billede stois Nybegynder
07. december 2004 - 11:10 #1
<?php
if (count($_POST) > 0) {
    trimdata($_POST); //remove whitespace
    extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars
}

if ($submit) {
    //form validation
    $error = array();
    if (!$name) {
        $error[] = "Angiv venligst dit navn";
    }
    if (!$address) {
        $error[] = "Angiv venligst din adresse";
    }
    if (!$zipcode) {
        $error[] = "Angiv venligst dit postnr.";
    }
    if (!$city) {
        $error[] = "Angiv venligst bynavn";
    }

    //only send mail if there's no errors
    if (count($error) == 0) {
        //give user a message depending on checkbox choice
        $message = $name."\n";
        $message  .=$address."\n";
        $message .= $zipcode." ".$city."\n";
        $message .= "\n";
        $message .= "\n".$text_msg."\n";


//        echo $text_msg;
        mail('ntg@mail.dk', 'Tilmelding', $message);
        ;?>
        <p>Tak for din tilmelding<BR><BR><a href="../index.html">Klik her for at fortsætte til forsiden</a></p>
        <?php
    //if errors, give user some info...
    } else {
        echo join("<br>",$error);
    }
}

//show the form, if it is not sent, or errors ocurred


    ?>
    <form action="i.php" method="post">


<?
if (count($_POST) = 0) { /* Denne tjekker om der er sendt eller ej, og sikre dig at der ikke bliver vist noget af mail formen herunder, med mindre at der ikke er sendt noget endnu */?>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD valign="top">



<TABLE WIDTH="200" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR><TD><span class="txt">
Navn
</TD><TD>
<input type="text" name="name" value="<?= $name?>">
</TD></TR>

<TR><TD><span class="txt">
Gade
</TD><TD>
<input type="text" name="address" value="<?= $address?>">
</TD></TR>


<TR><TD><span class="txt">
Postnr&nbsp;&nbsp;
</TD><TD>
<input type="text" name="zipcode" value="<?= $zipcode;?>">
</TD></TR>


<TR><TD><span class="txt">
By
</TD><TD>
<input type="text" name="city" value="<?= $city?>">
</TD></TR>


</TABLE>

<BR><BR>
        <input type="submit" name="submit" value="Send">
   
    </form>
 

<?php

  //this function trims whitespace from all posted values
  function trimdr( &$r ){
    if(gettype($r) == "array" ){
      foreach($r as $key => $value){
        trimdr($r[$key]);
      }
    }
    else{
      $r=trim( (string) $r );
    }
  }
 
  function trimdata( &$d ){
      trimdr($d);
  }
}
?>


tada!
Avatar billede Slettet bruger
07. december 2004 - 11:20 #2
Den giver fejlmelding...
Avatar billede stois Nybegynder
07. december 2004 - 14:08 #3
Hvilken?
Avatar billede stois Nybegynder
07. december 2004 - 14:10 #4
oups my fault...

if (count($_POST) = 0)

skal rettes til ->

if (count($_POST) == 0)
Avatar billede Slettet bruger
07. december 2004 - 14:17 #5
stadig fejl i linie 17
Avatar billede stois Nybegynder
07. december 2004 - 14:34 #6
Er det hele filen du har sendt mig, eller er der mere end det jeg ser nu?
Avatar billede stois Nybegynder
07. december 2004 - 14:37 #7
Men prøv at slette punktumet inde i den "tilføj til array"-sætning...

$error[] = "Angiv venligst dit postnr"; // nu med endnu mindre punktum
Avatar billede Slettet bruger
07. december 2004 - 14:48 #8
Kan du ikke bare sende mig hele scriptet efter du har ændret
Avatar billede stois Nybegynder
07. december 2004 - 14:50 #9
Kan du ikke bare fjerne et *BIP-BIP* Punktum... det er på linie 17, du kan copy paste linien der ind selv....

orghhhh glem det.... her er det så

<?php
if (count($_POST) > 0) {
    trimdata($_POST); //remove whitespace
    extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars
}

if ($submit) {
    //form validation
    $error = array();
    if (!$name) {
        $error[] = "Angiv venligst dit navn";
    }
    if (!$address) {
        $error[] = "Angiv venligst din adresse";
    }
    if (!$zipcode) {
        $error[] = "Angiv venligst dit postnr";
    }
    if (!$city) {
        $error[] = "Angiv venligst bynavn";
    }

    //only send mail if there's no errors
    if (count($error) == 0) {
        //give user a message depending on checkbox choice
        $message = $name."\n";
        $message  .=$address."\n";
        $message .= $zipcode." ".$city."\n";
        $message .= "\n";
        $message .= "\n".$text_msg."\n";


//        echo $text_msg;
        mail('ntg@mail.dk', 'Tilmelding', $message);
        ;?>
        <p>Tak for din tilmelding<BR><BR><a href="../index.html">Klik her for at fortsætte til forsiden</a></p>
        <?php
    //if errors, give user some info...
    } else {
        echo join("<br>",$error);
    }
}

//show the form, if it is not sent, or errors ocurred


    ?>
    <form action="i.php" method="post">


<?
if (count($_POST) = 0) { /* Denne tjekker om der er sendt eller ej, og sikre dig at der ikke bliver vist noget af mail formen herunder, med mindre at der ikke er sendt noget endnu */?>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD valign="top">



<TABLE WIDTH="200" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR><TD><span class="txt">
Navn
</TD><TD>
<input type="text" name="name" value="<?= $name?>">
</TD></TR>

<TR><TD><span class="txt">
Gade
</TD><TD>
<input type="text" name="address" value="<?= $address?>">
</TD></TR>


<TR><TD><span class="txt">
Postnr&nbsp;&nbsp;
</TD><TD>
<input type="text" name="zipcode" value="<?= $zipcode;?>">
</TD></TR>


<TR><TD><span class="txt">
By
</TD><TD>
<input type="text" name="city" value="<?= $city?>">
</TD></TR>


</TABLE>

<BR><BR>
        <input type="submit" name="submit" value="Send">
 
    </form>


<?php

  //this function trims whitespace from all posted values
  function trimdr( &$r ){
    if(gettype($r) == "array" ){
      foreach($r as $key => $value){
        trimdr($r[$key]);
      }
    }
    else{
      $r=trim( (string) $r );
    }
  }

  function trimdata( &$d ){
      trimdr($d);
  }
}
?>
Avatar billede Slettet bruger
07. december 2004 - 17:38 #10
Den giver stadig fejlmelding
Avatar billede Slettet bruger
07. december 2004 - 17:45 #11
Når jeg spurgte om ikke kunde sende mig hele scriptet, var det fordi jeg regnede med, at du selv kørte det
Avatar billede stois Nybegynder
08. december 2004 - 10:37 #12
hvad er der galt med det denne gang? hvilken fejl får du?

Undskyld jeg vræsede lidt før...

Jeg skal altid vide hvilken fejl du får, ellers kan jeg ikke laver noget om, og for at være helt sikker, skal du også sende mig din fulde kildekode..... :-)
Avatar billede Slettet bruger
08. december 2004 - 17:16 #13
Det er da en temmelig besværlig procedure, men ok:

Fejlmelding:
Parse error: parse error, unexpected '=' in /web/www.fdp.dk/www/i.php on line 66

Fuldstændig kode:

<!-- Minus AutoDato -->
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK REL="stylesheet" HREF="../css/s.css" TYPE="text/css">
<HTML><HEAD><TITLE></TITLE>
</HEAD>

<BODY leftmargin="5" topmargin="4">



<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0><TR><TD>
<BR>
<span class="txt">
<?php
if (count($_POST) > 0) {
    trimdata($_POST); //remove whitespace
    extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars
}

if ($submit) {
    //form validation
    $error = array();
    if (!$name) {
        $error[] = "Angiv venligst dit navn";
    }
    if (!$address) {
        $error[] = "Angiv venligst din adresse";
    }
    if (!$zipcode) {
        $error[] = "Angiv venligst dit postnr";
    }
    if (!$city) {
        $error[] = "Angiv venligst bynavn";
    }

    //only send mail if there's no errors
    if (count($error) == 0) {
        //give user a message depending on checkbox choice
        $message = $name."\n";
        $message  .=$address."\n";
        $message .= $zipcode." ".$city."\n";
        $message .= "\n";
        $message .= "\n".$text_msg."\n";


//        echo $text_msg;
        mail('ntg@mail.dk', 'Tilmelding', $message);
        ;?>
        <p>Tak for din tilmelding<BR><BR><a href="../index.html">Klik her for at fortsætte til forsiden</a></p>
        <?php
    //if errors, give user some info...
    } else {
        echo join("<br>",$error);
    }
}

//show the form, if it is not sent, or errors ocurred


    ?>
    <form action="i.php" method="post">


<?
if (count($_POST) = 0) { /* Denne tjekker om der er sendt eller ej, og sikre dig at der ikke bliver vist noget af mail formen herunder, med mindre at der ikke er sendt noget endnu */?>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD valign="top">



<TABLE WIDTH="200" BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR><TD><span class="txt">
Navn
</TD><TD>
<input type="text" name="name" value="<?= $name?>">
</TD></TR>

<TR><TD><span class="txt">
Gade
</TD><TD>
<input type="text" name="address" value="<?= $address?>">
</TD></TR>


<TR><TD><span class="txt">
Postnr&nbsp;&nbsp;
</TD><TD>
<input type="text" name="zipcode" value="<?= $zipcode;?>">
</TD></TR>


<TR><TD><span class="txt">
By
</TD><TD>
<input type="text" name="city" value="<?= $city?>">
</TD></TR>


</TABLE>

<BR><BR>
        <input type="submit" name="submit" value="Send">
 
    </form>


<?php

  //this function trims whitespace from all posted values
  function trimdr( &$r ){
    if(gettype($r) == "array" ){
      foreach($r as $key => $value){
        trimdr($r[$key]);
      }
    }
    else{
      $r=trim( (string) $r );
    }
  }

  function trimdata( &$d ){
      trimdr($d);
  }
}
?>


</TD></TR></TABLE>






</BODY>
</HTM
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