Avatar billede hojben Novice
19. september 2006 - 22:29 Der er 7 kommentarer og
1 løsning

tilføj 2 checkbox og fjern emne i php-formular

Jeg har denne formular som jeg skal have fjernet emnefeltet og tilføjet 2 checkbox'e.

Er ikke stærk i php derfor jeres hjælp..

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1250"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"><style type="text/css">
<!--
body {
    margin-left: 100px;
    margin-top: 75px;
    background-image: url(sundown-red.jpg);
}
a:link {
    color: #000000;
}
a:visited {
    color: #000000;
}
a:hover {
    color: #000000;
}
a:active {
    color: #000000;
}
-->
</style></head>

<body>
<table width="800" height="25" border="0" cellpadding="0" cellspacing="0" background="sundown.jpg" >
  <!--DWLayoutTable-->
  <tr>
    <td height="24" colspan="4"><img src="gfx/maintop.gif"></td>
  </tr>
  <tr>
    <td width="100" height="380" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <!--DWLayoutTable-->
      <tr>
        <td width="100" height="380" align="center" valign="top"><a href="java script:history.go(-1)">Forside</a></td>
      </tr>
    </table>    </td>
    <td width="592" align="center" valign="top">
        <form method="POST" action="http://xxxx.dk/ibizpanel-scripts/fmSimple.php">
<table width="50%">
  <tr>
    <td><font size="4">Kontaktformular</font></td>
  </tr>
  <tr>
    <td>
    <table bgcolor="silver">
      <tr>
        <td width="30%" nowrap>Navn</td>
        <td width="70%"><input type="text" name="fm_name" size="20"></td>
      </tr>
      <tr>
        <td width="30%" nowrap>E-mail</td>
        <td width="70%"><input type="text" name="fm_email" size="30"></td>
      </tr>
      <tr>
        <td width="30%" nowrap>Emne</td>
        <td width="70%"><input type="text" name="fm_subject" size="30"></td>
      </tr>
      <tr>
        <td width="30%" nowrap>Tekst</td>
        <td width="70%"><textarea name="fm_body" cols="50" rows="10"></textarea></td>
      </tr>
    </table>
    </td>
  </tr>
  <tr>
    <td align="left">
      <input type="hidden" name="fm_return" value="">
      <input type="hidden" name="fm_address" value="admin@xxxx.dk">
      <input type="submit" name="SendEmail" value="Send formular">
    </td>
  </tr>
</table>
</form>
        </td>
    <td width="100" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <!--DWLayoutTable-->
      <tr>
        <td width="100" height="380">&nbsp;</td>
      </tr>
    </table>
    </td>
    <td width="9">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Avatar billede coderdk Praktikant
19. september 2006 - 23:02 #1
1) Der er intet PHP på den side
2) Det lader til at være en ASP side ;-)
Avatar billede aeroone Nybegynder
20. september 2006 - 12:46 #2
Du skal vel bare ændre din input type fra text til checkbox

<tr>
<td width="30%" nowrap>Emne</td>
<td width="70%"><input type="text" name="fm_subject" size="30"></td>
</tr>

Ændres til

<tr>
<td width="30%" nowrap>Emne(Eller hvad du nu vil skrive)</td>
<td width="70%"><input type="checkbox" name="checkbox" value="checkbox1" /> Checkbox 1<br><input type="checkbox" name="checkbox2" value="checkbox2" /> Checkbox 2</td>
</tr>

Men hvad med det script som du sender formen til, kan det forstå den ekstra info, du har jo udskiftet 1 felt med 2 felter.
Avatar billede hojben Novice
20. september 2006 - 20:32 #3
ja det er jo så her at php kommer ind i billedet. her er koden til action:

<?PHP
  $fm_name = $_REQUEST[fm_name];
  list($fm_email,$junk) = split("\n",$_REQUEST[fm_email]);
  $fm_subject = $_REQUEST[fm_subject];
  $fm_body = $_REQUEST[fm_body];
  $fm_addres = $_REQUEST[fm_address];
  $addresses = array('admin@xxxxx.dk');
  if (!in_array($fm_addres, $addresses))
  {
    $fm_address = $addresses[0];
  }

  $headers = "From: $fm_email\n";
  $headers .= "X-FormMail-User: admin@xxxxx.dk\n";
  $subject = "Henvendelse fra hjemmesiden";
  $ip_addr = $_SERVER["REMOTE_ADDR"];
  $date = date("D M j Y G:i:s T");
  $body = "IP Address: $ip_addr\nDate: $date\nName: $fm_name\nEmail: $fm_email\nSubject: $fm_subject\nBody: $fm_body";

  mail($fm_address,$subject,$body,$headers);

  $return_url = "http://www.xxxx.dk/";
  if (isset($_REQUEST[fm_return]) && $_REQUEST[fm_return] != "")
  {
    $return_url = $_REQUEST[fm_return];
  }
?>
<html>
<head>
<meta http-equiv="Refresh" content="2; URL=<?PHP echo $return_url ?>">
<title>Tak for din henvendelse</title>
</head>
<body bgcolor="white">
<div align="center">
<br><br>
<font size="4">Tak for din henvendelse. <br>
<br>Du vil snarest blive kontaktet.
</font></div>
</body>
</html>
Avatar billede aeroone Nybegynder
21. september 2006 - 11:15 #4
Okay :-)

Her er den oprindelige linje i din form
<td width="70%"><input type="text" name="fm_subject" size="30"></td>

I din PHP fil har du denne linje
  $fm_subject = $_REQUEST[fm_subject];
hvor indholdet af dit "Emne" felt i formen bliver hentet

I den modificerede form har du denne linje
<td width="70%"><input type="checkbox" name="checkbox" value="checkbox1" /> Checkbox 1<br><input type="checkbox" name="checkbox2" value="checkbox2" /> Checkbox 2</td>

Så i din PHP fil skal du ændre foregående linje
  $fm_subject = $_REQUEST[fm_subject];
til
  $fm_checkbox1 = $_REQUEST[checkbox]; (Her får du værdien af den første checkbox)
  $fm_checkbox2 = $_REQUEST[checkbox2]; (Her får du værdien af den anden checkbox)
Nu har du 2 variabler, som du kan bruge i dit mail script

Nu skal du ændre denne linje
  $body = "IP Address: $ip_addr\nDate: $date\nName: $fm_name\nEmail: $fm_email\nSubject: $fm_subject\nBody: $fm_body";
til
  $body = "IP Address: $ip_addr\nDate: $date\nName: $fm_name\nEmail: $fm_email\nCheckbox1: $fm_checkbox1\nCheckbox2: $fm_checkbox2\nBody: $fm_body";

Så skulle det virke, du skal nu bare ændre i checkboxene's 'checked' værdier, så det giver mening når du modtager en mail
Avatar billede hojben Novice
21. september 2006 - 20:26 #5
www.vejs.dk/exp.dk/form.txt
www.vejs.dk/exp.dk/php.txt

Jeg har i formen:
Navn
email
emne
tekst
2 checkboxe

det jeg får er:
IP Address: xxx.xxx.xxx.xxx
Date: Thu Sep 21 2006 9:28:42 PDT
Name: Michael
Email: xxx@xxx.dk
Checkbox1: (er ikke udfyldt selvom de blev det på siden)
Checkbox2: (er ikke udfyldt selvom de blev det på siden)
Body: Tekst i tekstfeltet
Avatar billede aeroone Nybegynder
22. september 2006 - 12:15 #6
Jeg har lige snippet lidt fra dine to filer

Form:
      <td width="70%">
      <input name="Coaching" type="checkbox" id="Coaching" value="Coaching" />
      Coaching<br>
      <input name="Terapi" type="checkbox" id="Terapi" value="Terapi" />
      Terapi </td>

PHP:
  $fm_checkbox1 = $_REQUEST[checkbox];
  $fm_checkbox2 = $_REQUEST[checkbox2];

I din form kalder du den første checkbox Coaching, og den anden Terapi, det er godt nok, men i PHP filen referere du til $_REQUEST[checkbox], og $_REQUEST[checkbox2],
dem skal du jo ændre til $_REQUEST[Coaching], og $_REQUEST[Terapi]
Avatar billede hojben Novice
22. september 2006 - 16:12 #7
smid et svar :)
Avatar billede aeroone Nybegynder
23. september 2006 - 18:46 #8
OK
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