Warum nicht ? (anfängerfrage!)

P

Phreak

Sinn ist,dass das script die email adresse nach nem @ untersucht.
Klappt aber leider nicht ! Warum ?


<? // E-Mail-Inhalt zusammensetzen
$email_inhalt = $textfield;
$pos = strrpos ($textfield, "@");
if ($pos === false) { // note: three equal signs
// not found...?>
<script language="JavaScript">
location.href="noway.htm";
</script>

<?
} else {

// E-Mail versenden
mail("tester@test.de","E-Mail-PHP-TEST",$email_inhalt,"From: test@test.de\nReply-To: test@test.de");
?>
<script language="JavaScript">
location.href="danke2.htm";
</script> }
 
hi,

ich denke mal aus dem Skript gesehen zu haben, daß sich Deine Frage auf PHP bezieht.

Ich habe trotzdem noch ein paar Fragen, um dieses Problem zu lösen:

wie sieht das entsprechende HTML-Formular dazu aus?
was steht in dem Feld $textfield? Email-Inhalt oder Email-Adresse?

was mir noch so aufgefallen ist:

ob eine Variable FALSE ist fragst Du einfacher so ab:
PHP:
 if (!$pos)
(das mit den drei Gleichheitszeichen hab ich noch nie gesehen in PHP)

statt des JavaScripts (und der damit verbundenen <? bzw ?> was zu unübersichtlichem Code führt) kannst Du folgendes Verwenden:
PHP:
 header ("Location: danke2.htm");
ansonsten fehlt vor dem letzten } noch ein <?

Gruß
Dunsti
 
Ähh, sorry, ist natürlich PHP.
Der HTML Quelltext besteht nur aus einer Form, die ein Textfeld namens textfield beinhaltet und das ganze per action=".......php3" und method="POST" an die php datei verschickt wird. Falls die Email adresse kein @ beinhaltet soll ne fehlermeldungs html, sonst ne dankeschöns html angezeigt werden.
Das ganze soll dann ma ne art newsletter werden...
Das der Inhalt der Email, die durch die PHP Datei erzeugt wird nur die Emailadresse beinhaltet is wurscht und war nur zu testzwecken.
Muss ma deine korrekturen ausprobieren, kam leider noch nicht dazu .
 
hi,

vielleicht solltest du erst mal testen ob die variable auch wirklich übergeben wird, also mit echo einfach mal den inhalt ausgeben, aber ich geh mal davon aus, daß du das eh schon gemacht hast lol
so dann hast du da eine zeile als comment gemacht und da is am schluß das "?>" mit ausgegrenzt, also erkennt er nicht, daß das php hier zu ende is und das java script anfängt
naja, und sonst würd ich bei dem vergleich einfach mal mit 0 und 1 arbeiten also "if ($pos==0) {bla bla}"
wenn das nich funktioniert kannste ja auch mal versuchen das "@" in ein extra variable zu packen und dann in der suchfunktion indirekt über die variable aufzurufen
und sonst weiß ich jetzt auch nicht mehr
cu
Pasdan
 
Zurück