Mail() funktioniert nicht im IE 7.0

  • Themenstarter Themenstarter Klamsi
  • Beginndatum Beginndatum
K

Klamsi

Hallo, ich hab eine Frage, ich hab ein kleines Mailskript geschrieben,ganz simple und zum Schutz vor sinnloser Verwüstung meines Emailkontos hab ich ein Captcha-Bild hinzugefügt, dessen Code vorher man eingeben muss. Nun mein Problem ist folgendes: Der Firefox funktioniert ohne probleme und die Email kommt genau so an wie ich es wollte,aber der Internet Explorer verschickt nichts,statt dessen kommt meine Fehlermeldung, die erscheinen sollte, wenn man den Code nicht richtig oder gar nicht eingetragen hat.

Dazu mal mein Quellcode von der contact.php
PHP:
<br>
<form action="<?php echo $_SERVER['PHP_SELF']?>?nr=3" method="post">
<input type="text" class="form" name="nick" value="Name">
<br>
<br>
<input type="text" class="form" name="email" value="Email"><br><br>
<input type="text" class="text" name="content" value="Inhalt" width="80px" height="80px"><br><br>
<input type="submit" class="button" name="schicken" value="Abschicken">
<input type="reset" class="button" name="reset" value="Löschen">

<?php
include ("connect.php");
$zufall = rand(1,5);

$anzeige = "SELECT * FROM t_daten WHERE ID = $zufall";
$bild = mysql_query($anzeige,$verbindung);
while($zeile=mysql_fetch_array($bild))
 {
 	$captcha[$i]=$zeile[0];
	$loesung[$i]=$zeile[1];
	
 }
echo "<div style='position: absolute; left:300px; top: 18px; width: 100px; height: 80px;'><img src='captchas/$captcha[$i].jpg'></div>";
echo "<div style='position: absolute; left:300px; top: 105px; width: 20px; height: 20px;'>
<input type='text' class='form' name='check' value='Bitte Code eingeben'></div>";

$checked=$_POST['check'];
$abschicken=$_POST['schicken'];
$subject=$_POST['nick'];
$email=$_POST['email'];
$content=$_POST['content'];
$to="hk_klamsi@hotmail.com";

if($abschicken)
{
if($checked == $loesung[$i]) mail($to, $subject, $email, $content);
else echo "<div class='fehler'><br>FEHLER. Bitte geben Sie den Code erneut ein.</div>";
}

?>

Bitte um Hilfe. Danke,
Tenshido
 
PHP wird bekanntlicher Maßen auf dem Server und nicht auf dem Client ausgeführt. Folglich kann der IE nichts, aber auch garnichts mit deinem Problem zu tun haben. Zumindest kann er kein Problem mit deinem PHP-Code haben. Dein Problem liegt einfach in deinem unübersichtlichen Coding und deinem falschen HTML. In guter XHTML manier werden auch Tags , wie <br> und <input>, geschlossen. Statt <br> schreibst du hier <br />. Dies gilt für alle Tags, die in HTML keine schließenden Tags hatten. Also auch <img>. Zudem solltest du dein Formular auch schließen. Dann klappts bestimmt auch.
MfG, Andy
 
Also zusätzliche info...
Die zuvor schon beschrieben, php = Server, Browser hat keinen Einfluß drauf....

Falls man Firebug + YSlow installiert und aktiv hat, hat dies den Einfluß das die Seite 2mal aufgerufen wird, jedoch man selbst nur einmal mitbekommt.
Ich sag das jetzt, da ich X-Stunden gebraucht habe um zubegreifen, warum 2 emails versendet werden....

Womöglich habe ich damit jemanden diese X-Stunden erspart...
 
wegen dem formular, das ist geschlossen, da fehlen 2 befehle seh ich.. sry vergessen zu kopieren. dann das mit dem <br> oder <img> was nicht abgeschlossen wurde,das hat uns unser lehrer damals so beigebracht und habs mri so angeeignet. aber die struktur an sich is logisch, wenn man ahnung hat was da steht. mein problem is aber immernoch nicht weg. =(
das $i kannsu in schleifen verwenden, zB lässt du ihn dann weiterlaufen $i++,in meinem fall isses eher platzhalter.
bitte weiter um Hilfe.

Danke,
Tenshido
 
Zuletzt bearbeitet von einem Moderator:
Das mit dem Platzhalter ist meiner Meinung nach voll daneben. Lass das $i entweder weg oder zähle es durch. Weglassen ist sinnvoller, da du es schlichtweg nicht brauchst. Zudem wäre es hilfreich, wenn du das komplette Script hochladen könntest, wenn in dem bisher geposteten noch Befehle fehlen. Gibt es eigentlich einen Grund, warum du alle deine Formular-Eingaben einfach übernimmst und sie kein Stück prüfst?
MfG, Andy
 
In dem Code, den du gepostet hast wird $i nirgends ein Wert zugewiesen, wo wird also $i ein Wert gegeben, bzw was steht in $i?
Das wollte Gumbo wissen denke ich.
 
Zurück