webForumDet fria alternativet

Hittar inte felet

11 svar · 274 visningar · startad av Jon

JonMedlem sedan juli 20011 126 inlägg
#1

Mailet skickas aldrig. Varför? :)

phpkod:

<?
if($Submit)
{
  mail("x@x.se", "Kundkontakt från webbsidan",
	"-----------------------------------------
Namn: $txtNamn 
Företag: $txtForetag
Adress: $txtAdress
Postadress: $txtPadress  
Telefon: $txtTel
Fax: $txtFax
E-post:  $txtEpost
Antal anställda: $txtAnst
Intresseområde: $intresse
Meddelande:  $txtMeddelande
-----------------------------------------",
  "From: Hemsidan");
	
	$mess = "<font color='red'>Ditt meddelande är nu skickat.</font>";
}
?>

formuläret:

<form name="f" method="post" action="kontakt.php">
                
  <table width="78%" border="0" cellspacing="1" cellpadding="0">
    <tr> 
      <td width="28%">Namn:</td>
      <td width="72%"> 
        <input type="text" name="txtNamn" maxlength="40" size="40">
      </td>
    </tr>
    <tr> 
      <td width="28%">Företag:</td>
      <td width="72%"> 
        <input type="text" name="txtForetag" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
      <td width="28%">Adress:</td>
      <td width="72%"> 
        <input type="text" name="txtAdress" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
      <td width="28%">Postadress:</td>
      <td width="72%"> 
        <input type="text" name="txtPadress" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
      <td width="28%">Telefon:</td>
      <td width="72%"> 
        <input type="text" name="txtTel" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
    <tr> 
      <td width="28%">Fax:</td>
      <td width="72%"> 
        <input type="text" name="txtFax" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
      <td width="28%">E-post:</td>
      <td width="72%"> 
        <input type="text" name="txtEpost" size="40" maxlength="40">
      </td>
    </tr>
    <tr> 
      <td width="28%" valign="top">Antal anst&auml;llda:</td>
      <td width="72%">
        <input type="text" name="txtAnst" size="5" maxlength="5">
      </td>
    </tr>
    <tr> 
      <td width="28%">Intresseomr&aring;de: </td>
      <td width="72%">
        <select name="intresse">
          <option selected value="allt">Allt</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
        </select>
      </td>
    </tr>
    <tr valign="top"> 
      <td width="28%">Meddelande:</td>
      <td width="72%"> 
        <textarea name="txtMeddelande" rows="6" cols="40"></textarea>
      </td>
    </tr>
    <tr valign="top"> 
      <td width="28%"></td>
      <td width="72%"> 
        <input type="Submit" name="Submit" value="Skicka">
      </td>
    </tr>
  </table>
 </form>
WebslaveMedlem sedan maj 2002662 inlägg
#2

Skummade igenom lite och fick denna tanke... testa:
if(isset($Submit)){
// Din kod
}

JonMedlem sedan juli 20011 126 inlägg
#3

Det hjälpte tyvärr inte.
Formuläret beter sig som om det vore en reset-knapp man tryckte på. Mycket underligt...

WebslaveMedlem sedan maj 2002662 inlägg
#4

Rensas formuläret när du trycker på submit? Skickas du inte till kontakt.php?

JonMedlem sedan juli 20011 126 inlägg
#5

Japp det rensas.
Men sidan heter kontakt.php (skickar till mig själv, all kod är på samma sida)

WebslaveMedlem sedan maj 2002662 inlägg
#6

Har du egen server? I så fall hur är inställningarna i PHP.ini? Om du har register_globals = OFF måste du kan lägga till $_POST['Submit'] osv på alla dina variablar.

JonMedlem sedan juli 20011 126 inlägg
#7

Nope. webbhotell. (Loopia)
Andra mailscript har funkat bra tidigare.

WebslaveMedlem sedan maj 2002662 inlägg
#8

Då har jag ingen aning... inte så bra på mail() ;)

JonMedlem sedan juli 20011 126 inlägg
#9

OK. felsökte lite mer och upptäckte att inga variebler fått något värde! Finns det nån vanlig orsak till detta eller kan det bero på webbhotellet?

jarvkloMedlem sedan juli 20013 295 inlägg
#10

Det är nog risk för att det låter som det skulle kunna vara en "vanlig orsak"... för (som även webslave påpekade) det låter som om du har register_globals = off på webbhotellet... (vilket IMHO är en vettig inställning för övrigt ;) )

phpmanualen skrev:

Standardvärdet för PHP-direktiven register_globals ändrades från on till off i PHP 4.2.0.

(källa: http://www.php.net/manual/sv/printwn/configuration.php )

Det innebär i praktiken bland annat att du inte längre automatiskt får tillgång till globala variabler som innehåller formulärdata som t.ex. $txtNamn i ditt exempel, utan får skriva $_POST['txtNamn'] i stället..

Om register_globals är på eller av kan du se med phpinfo();

JonMedlem sedan juli 20011 126 inlägg
#11

Visst var det så!

tack för kompetent hjälp :)

WebslaveMedlem sedan maj 2002662 inlägg
#12

Då var det ju en baggis ;) Bra att jarvklo kunde vara lite tydligare

Genererad på 395 ms · cache AV · v20260730165559-full.f96bc7eb