Avatar billede 44fire44 Nybegynder
15. juni 2005 - 14:50 Der er 14 kommentarer og
2 løsninger

Mest HTML - Form til GET og POST

Hej EKSperter... - Jeg har lavet et script her, hvor jeg henter noget ud fra en database, og senere skal den valgte data så sendes i en email

hvordan sætter jeg det rigtigt, sådan at jeg også kan modtage mails? - lige nu, kan jeg godt hente data ud, men når jeg sender, så modtager jeg ingen mails

Mvh
/44fire44

--------------------

<?php

//MySQL connect

$hent = mysql_query("SELECT DISTINCT(biltype) FROM biler")
      or die( "Unable to select. Reason: ".mysql_error());

$m_typer = array();

    while ($t = mysql_fetch_object($hent)) {
    $m_typer[] = $t->biltype;
    }
mysql_free_result($hent);
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="hidden" name="page" value="inc/lejeform2.php">

<?php
if(!isset($_GET["type"]) || !in_array(urldecode($_GET["type"]), $m_typer)) {
?>
<select name="type" onchange="this.form.submit();">
<option value="">Vælg modeltype</option>
<?php
foreach($m_typer as $type) {
echo"\n<option value=\"". urlencode($type) ."\">". $type ."</option>";
}
echo"</select> ";

}

    if(isset($_GET["type"])) {
    $valgt_type = urldecode($_GET["type"]);

        if(in_array($valgt_type, $m_typer)) {
        echo"Valgt modeltype er ". $valgt_type ." <a href=\"". $_SERVER["PHP_SELF"] ."\">V&aelig;lg ny modeltype</a><br />\n";
        echo"<input type=\"hidden\" name=\"type\" value=\"". urlencode($valgt_type) ."\">\n";

        $mulige_maerker = mysql_query("SELECT DISTINCT(maerke) FROM biler WHERE biltype = '". $valgt_type ."'") or die( "Unable to select. Reason:

".mysql_error());
            $m_maerker = array();
            while ($m = mysql_fetch_object($mulige_maerker)) {
            $m_maerker[] = $m->maerke;
            }
        mysql_free_result($mulige_maerker);

            if(!isset($_GET["maerke"])) {
            echo"<select name=\"maerke\" onchange=\"this.form.submit();\">\n";
            echo"<option value=\"\">V&aelig;lg bilmodel</option>";

                foreach($m_maerker as  $maerker) {
                echo"\n<option value=\"". urlencode($maerker) ."\">". $maerker ."</option>";
                }
            echo"</select>";
            }else{
                if(in_array(urldecode($_GET["maerke"]), $m_maerker)) {
                echo"Valgte bilmodel er ". urldecode($_GET["maerke"]) ." <a href=\"". $_SERVER["PHP_SELF"] ."?type=". urlencode($valgt_type) ."\">V&aelig;lg

ny bilmodel</a><br />\n";
                ?>

</form>
               

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">


                <input type="hidden" name="modeltype" value="<?php echo urlencode($valgt_type); ?>">
            <input type="hidden" name="modelmaerke" value="<?php echo $_GET["maerke"]; ?>">

<table border="0"><tr><td colspan="2">

Alle felter skal udfyldes<br><br>
<hr>
<b>Personlige oplysninger:</b><br>
<br>
Fulde Navn:<BR>
<INPUT TYPE="text" name="navn"><BR>
Adresse:<BR>
<INPUT TYPE="text" name="adresse"><BR>
Portnummer og by:<BR>
<INPUT TYPE="text" name="postnr" maxlength="4" size="4"><INPUT TYPE="text" name="city"><BR>
Land:<BR>
<INPUT TYPE="text" name="land"><BR>
Telefon:<BR>
<INPUT TYPE="text" name="telefon"><BR>
Din e-mail:<BR>
<INPUT TYPE="text" name="email"><BR>

<br><hr><br>

</td></tr><tr><td>
<b>Leje Periode:</b>
</td></tr><tr><td>
Fra:</td><td><select name="fdag">
  <option value=' '> </option>
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
  <option value='4'>4</option>
  <option value='5'>5</option>
  <option value='6'>6</option>
  <option value='7'>7</option>
  <option value='8'>8</option>
  <option value='9'>9</option>
  <option value='10'>10</option>
  <option value='11'>11</option>
  <option value='12'>12</option>
  <option value='13'>13</option>
  <option value='14'>14</option>
  <option value='15'>15</option>
  <option value='16'>16</option>
  <option value='17'>17</option>
  <option value='18'>18</option>
  <option value='19'>19</option>
  <option value='20'>20</option>
  <option value='21'>21</option>
  <option value='22'>22</option>
  <option value='23'>23</option>
  <option value='24'>24</option>
  <option value='25'>25</option>
  <option value='26'>26</option>
  <option value='27'>27</option>
  <option value='28'>28</option>
  <option value='29'>29</option>
  <option value='30'>30</option>
  <option value='31'>31</option>
</select>
<select name="fmaaned">
  <option value=' '> </option>
  <option value='Januar'>Januar</option>
  <option value='Februar'>Februar</option>
  <option value='Marts'>Marts</option>
  <option value='April'>April</option>
  <option value='Maj'>Maj</option>
  <option value='Juni'>Juni</option>
  <option value='Juli'>Juli</option>
  <option value='August'>August</option>
  <option value='September'>September</option>
  <option value='Oktober'>Oktober</option>
  <option value='November'>November</option>
  <option value='December'>December</option>
</select>
<select name="faar">
  <option value=' '> </option>
  <option value='2005'>2005</option>
  <option value='2006'>2006</option>
  <option value='2007'>2007</option>
  <option value='2008'>2008</option>
</select>
</td></tr><tr><td>
Til:</td><td><select name="tdag">
  <option value=' '> </option>
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
  <option value='4'>4</option>
  <option value='5'>5</option>
  <option value='6'>6</option>
  <option value='7'>7</option>
  <option value='8'>8</option>
  <option value='9'>9</option>
  <option value='10'>10</option>
  <option value='11'>11</option>
  <option value='12'>12</option>
  <option value='13'>13</option>
  <option value='14'>14</option>
  <option value='15'>15</option>
  <option value='16'>16</option>
  <option value='17'>17</option>
  <option value='18'>18</option>
  <option value='19'>19</option>
  <option value='20'>20</option>
  <option value='21'>21</option>
  <option value='22'>22</option>
  <option value='23'>23</option>
  <option value='24'>24</option>
  <option value='25'>25</option>
  <option value='26'>26</option>
  <option value='27'>27</option>
  <option value='28'>28</option>
  <option value='29'>29</option>
  <option value='30'>30</option>
  <option value='31'>31</option>
</select>
<select name="tmaaned">
  <option value=' '> </option>
  <option value='Januar'>Januar</option>
  <option value='Februar'>Februar</option>
  <option value='Marts'>Marts</option>
  <option value='April'>April</option>
  <option value='Maj'>Maj</option>
  <option value='Juni'>Juni</option>
  <option value='Juli'>Juli</option>
  <option value='August'>August</option>
  <option value='September'>September</option>
  <option value='Oktober'>Oktober</option>
  <option value='November'>November</option>
  <option value='December'>December</option>
</select>
<select name="taar">
  <option value=' '> </option>
  <option value='2005'>2005</option>
  <option value='2006'>2006</option>
  <option value='2007'>2007</option>
  <option value='2008'>2008</option>
</select>
</td>
</tr><tr>
<td colspan="2"><br>
<font face="verdana" size="-2">Afhentningssted:&nbsp;<?php

$hent = mysql_query("SELECT nummer, afd FROM afdeling")
      or die( "Unable to select. Reason: ".mysql_error());

{
    echo "<select name=\"afd\">\n";
    while  ($row = mysql_fetch_array($hent))  {
        echo "  <option value='" .$row['afd'] ."'>".$row['afd'] ."</option>\n";
    }
    echo "</select>\n";
}


?><br><br><hr>
</td></tr><tr><td colspan="2">
<INPUT TYPE="hidden" name="emne" value="Ordre sendt fra hjemmeside">
<BR>
<INPUT TYPE="submit" VALUE="Send Forspørgsel" name="send">
<INPUT TYPE="reset">
</form>
</td></tr></table>



                <?php
                }else{
                echo"Valgte model findes ikke! <a href=\"". $_SERVER["PHP_SELF"] ."?type=". urlencode($valgt_type) ."\">Tilbage</a>";
                }
            }       

    }else{
    echo"Requested modeltype findes desværre ikke";
    }   
}
?>

</form>

<?php
if ($send) {
    function tilbage($meddelelse) {
        echo  "<h3>$meddelelse</h3>\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive noget i feltet \"navn\"...");
    if (!$adresse) tilbage( "Du har glemt at skrive noget Adresse-feltet");
    if (!$postnr) tilbage( "Du har glemt at skrive noget Postnummer-feltet");
    if (!$city) tilbage( "Du har glemt at skrive noget By-feltet");
    if (!$land) tilbage( "Du har glemt at skrive noget Land-feltet");
    if (!$telefon) tilbage( "Du har glemt at skrive noget Telefon-feltet");
    if (!$email) tilbage( "Du har glemt at skrive noget Email-feltet");
 
    $content = "

    Navn: $navn
    Adresse: $adresse
    Postnummer: $postnr
    By: $city
    Land: $land
    Telefon: $telefon
    Email: $email

    ----------------------------------------------------

    Fra: $fdag $fmaaned $faar
    Til: $tdag $tmaaned $taar   

    Biltype: $modeltype - $modelmaerke

    Afhentningssted: $afd";
   
    mail( "XXX@XXX.dk", $emne, $content, "From: $email\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "<script language=\"javascript\" type=\"text/javascript\">location.href='index.php?page=inc/tak.html'</script> \n";
}

?>

</body></html>
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 14:51 #1
eller er det formen der sender mig mailen der er noget galt med - det skal lige siges at jeg har brugt den før, med succes...
Avatar billede avminarm Juniormester
15. juni 2005 - 15:23 #2
Dine variabler i mail funktionen skal være $_GET['send'], $_GET['navn'] osv.

og du har vel rettet mail modtageres adr fra xxx@xxx.dk :-)
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 16:35 #3
jeps :D - prøver lige

if ($_GET['send']) { - er det sådan du mener?
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 16:40 #4
således?

<?php
if ($_GET['send']) {
    function tilbage($_GET['meddelelse']) {
        echo  "<h3>$_GET['meddelelse']</h3>\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }

    if (!$_GET['navn']) tilbage( "Du har glemt at skrive noget i feltet \"navn\"...");
    if (!$_GET['adresse']) tilbage( "Du har glemt at skrive noget Adresse-feltet");
    if (!$_GET['postnr']) tilbage( "Du har glemt at skrive noget Postnummer-feltet");
    if (!$_GET['city']) tilbage( "Du har glemt at skrive noget By-feltet");
    if (!$_GET['land']) tilbage( "Du har glemt at skrive noget Land-feltet");
    if (!$_GET['telefon']) tilbage( "Du har glemt at skrive noget Telefon-feltet");
    if (!$_GET['email']) tilbage( "Du har glemt at skrive noget Email-feltet");
 
    $_GET['content'] = "

    Navn: $_GET['navn']
    Adresse: $_GET['adresse']
    Postnummer: $_GET['postnr']
    By: $_GET['city']
    Land: $_GET['land']
    Telefon: $_GET['telefon']
    Email: $_GET['email']

    ----------------------------------------------------

    Fra: $_GET['fdag'] $_GET['fmaaned'] $_GET['faar']
    Til: $_GET['tdag'] $_GET['tmaaned'] $_GET['taar']   

    Biltype: $_GET['modeltype'] - $_GET['modelmaerke']

    Afhentningssted: $_GET['afd']";
   
    mail( "XXX@XXX.dk", $_GET['emne'], $_GET['content'], "From: $email\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "<script language=\"javascript\" type=\"text/javascript\">location.href='index.php?page=inc/tak.html'</script> \n";
}

?>
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 16:42 #5
nej, det ser forkert ud, ikke?

er dette ikke bedre?:

<?php
if ($_GET['send']) {
    function tilbage($meddelelse) {
        echo  "<h3>$meddelelse</h3>\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }

    if (!$_GET['navn']) tilbage( "Du har glemt at skrive noget i feltet \"navn\"...");
    if (!$_GET['adresse']) tilbage( "Du har glemt at skrive noget Adresse-feltet");
    if (!$_GET['postnr']) tilbage( "Du har glemt at skrive noget Postnummer-feltet");
    if (!$_GET['city']) tilbage( "Du har glemt at skrive noget By-feltet");
    if (!$_GET['land']) tilbage( "Du har glemt at skrive noget Land-feltet");
    if (!$_GET['telefon']) tilbage( "Du har glemt at skrive noget Telefon-feltet");
    if (!$_GET['email']) tilbage( "Du har glemt at skrive noget Email-feltet");
 
    $content = "

    Navn: $_GET['navn']
    Adresse: $_GET['adresse']
    Postnummer: $_GET['postnr']
    By: $_GET['city']
    Land: $_GET['land']
    Telefon: $_GET['telefon']
    Email: $_GET['email']

    ----------------------------------------------------

    Fra: $_GET['fdag'] $_GET['fmaaned'] $_GET['faar']
    Til: $_GET['tdag'] $_GET['tmaaned'] $_GET['taar']   

    Biltype: $_GET['modeltype'] - $_GET['modelmaerke']

    Afhentningssted: $_GET['afd']";
   
    mail( "XXX@XXX.dk", $emne, $content, "From: $email\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "<script language=\"javascript\" type=\"text/javascript\">location.href='index.php?page=inc/tak.html'</script> \n";
}

?>

eller hvordan mener du det skal være?
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 16:58 #6
hmm - hvis jeg ændrer det til $_GET, så vil den ikke sende igennem overhoved - når jeg bruger det gamle, så går den som den skal, videre til den "tak"-side jeg bruger - men jeg modtager stadig ingen mails...
Avatar billede 44fire44 Nybegynder
15. juni 2005 - 17:33 #7
nu har jeg smidt:

<?php
if ($send) {
    function tilbage($meddelelse) {
        echo  "<h3>$meddelelse</h3>\n";
        echo  "<form><input type=button value=\"<<< Tilbage\" onClick=history.back()></form>\n";
        echo  "</body></html>\n";
        exit;
    }

    if (!$navn) tilbage( "Du har glemt at skrive noget i feltet \"navn\"...");
    if (!$adresse) tilbage( "Du har glemt at skrive noget Adresse-feltet");
    if (!$postnr) tilbage( "Du har glemt at skrive noget Postnummer-feltet");
    if (!$city) tilbage( "Du har glemt at skrive noget By-feltet");
    if (!$land) tilbage( "Du har glemt at skrive noget Land-feltet");
    if (!$telefon) tilbage( "Du har glemt at skrive noget Telefon-feltet");
    if (!$email) tilbage( "Du har glemt at skrive noget Email-feltet");
 
    $content = "

    Navn: $navn
    Adresse: $adresse
    Postnummer: $postnr
    By: $city
    Land: $land
    Telefon: $telefon
    Email: $email

    ----------------------------------------------------

    Fra: $fdag $fmaaned $faar
    Til: $tdag $tmaaned $taar   

    Biltype: $modeltype - $modelmaerke

    Afhentningssted: $afd";
   
    mail( "XXX@XXX.dk", $emne, $content, "From: $email\nX-Mailer: http://$HTTP_HOST$REQUEST_URI");
echo  "<script language=\"javascript\" type=\"text/javascript\">location.href='index.php?page=inc/tak.html'</script> \n";
}

?>

over i en ny fil, kaldet send.php

så har jeg rettet <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> til <form action="inc/send.php" method="post">


nu gør den som den skal, MEN JEG MODTAGER STADIG INGEN MAILS!! :(:(
Avatar billede 44fire44 Nybegynder
19. juni 2005 - 01:17 #8
anyone?

jeg KAN bare ikke får det til at virke...
Avatar billede avminarm Juniormester
20. juni 2005 - 22:29 #9
hej 44 sry jeg først skriver nu - jeg får ikke mails fra E i øjeblikket - hvorfor benytter du GET og ikke POST?
Avatar billede 44fire44 Nybegynder
21. juni 2005 - 01:27 #10
når jeg prøver det, så vil den ikke reagere... - hvordan vil du præcist have at jeg skriver det ind?
Avatar billede avminarm Juniormester
22. juni 2005 - 12:30 #11
prøver du det på din egen server eller på nettet? Du skal erstatte alle GET med POST og i din form linie skal method hedde "post"

Kender du forskellen på globale og ikke globale variabler?
Avatar billede 44fire44 Nybegynder
23. juni 2005 - 18:26 #12
giver det mening, når jeg har 2 forms - en GET og en POST... - den ene henter data ud fra databasen, den anden (skulle) sende dem til mig...
Avatar billede avminarm Juniormester
23. juni 2005 - 23:02 #13
ja - men den nederste form - her skal alt ved send så rettes til $_POST['send'] og $_POST['navn'] osv.
Avatar billede 44fire44 Nybegynder
24. juni 2005 - 00:34 #14
dvs. ALLE med $-foran? - det har jeg prøvet - det virker ikke...
Avatar billede 44fire44 Nybegynder
24. juni 2005 - 23:09 #15
DAMN! - http://forum.frac.dk/viewtopic.php?t=249

/Homer style on/
dooh... dooh... dooh... dooh... dooh... dooh... dooh... dooh... dooh... dooh... ;)
/Homer style off/
Avatar billede 44fire44 Nybegynder
24. juni 2005 - 23:15 #16
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