| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
beppi
Anmeldedatum: 20.12.2007 Beiträge: 4
|
Verfasst am: 23.03.2008, 07:56 Titel: If Abfrage funzt nicht |
|
|
Hallo,
das Captcha-Programm gefällt mir sehr gut. Allerdings funzt die IF-Abfrage nicht, egal wo ich den Code platziere. Habe gestern das ganze Forum durchstöbert und das eine oder andere ausprobiert. Egal, ob ich die Zahlen und Buchstaben eingebe oder nicht, die E-Mail wird versandt.
Ich bitte dringend um Hilfe, ich bekomme mehr und mehr Spam.
Hier der Code:
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Heidkrug/E-Mail</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<style type="text/css">
<!--
.hintergrund {
left: 0px;
top: 10px;
font-family: "Times New Roman", Times, serif;
font-size: 0.9em;
color: #333333;
background-image: url(images/hintergrund.jpg);
background-repeat: repeat-y;
}
.sponsoren {
font-family: "Times New Roman", Times, serif;
font-size: 1.0em;
color: #CC0000;
}
-->
</style>
<link href="news.css" rel="stylesheet" type="text/css">
<link href="kontaktfelder.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="mailsend.js">
<!--
function mailsend(mail,p1,p2,p3) {
var ca;
ca = "mailto:" + p2 + "\@" + p3 + "." + p1;
mail.href = ca;
return (1);
}
function MM_changeProp(objName,x,theProp,theValue) { //v6.0
var obj = MM_findObj(objName);
if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
if (theValue == true || theValue == false)
eval("obj."+theProp+"="+theValue);
else eval("obj."+theProp+"='"+theValue+"'");
}
//-->
</script>
</head>
<body onLoad="MM_preloadImages('images/Navi/kontakt-onm.png','images/Navi/links_onm.png','images/Navi/mannschaft_onm.png','images/Navi/termine_onm.png','images/Navi/start_onm.png','images/Navi/video_onm.png','images/Navi/gaestebuch_onm.png')">
<table border="0" cellpadding="0" cellspacing="0" class="hintergrund" id="100">
<tr>
<td><table border="0" cellpadding="0" cellspacing="0" id="980">
<tr>
<td width="1399"><table border="0" cellpadding="0" cellspacing="0" id="100-">
<tr>
<td><table width="987" height="267" border="0" cellpadding="0" cellspacing="0" id="960">
<tr>
<td width="11" height="205"> </td>
<td width="257"><img src="images/Mannschaft/Mannschaft_zoom.jpg" width="256" height="192"></td>
<td colspan="7" valign="top"><table width="707" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5" height="164"> </td>
<td colspan="9"><div align="center"><img src="images/logo_ostern.gif" width="500" height="162"></div></td>
<td width="13"> </td>
</tr>
<tr>
<td height="42"> </td>
<td width="74"> </td>
<td width="87"><a href="index.php"><img src="images/Navi/start.png" name="start" width="87" height="25" border="0" id="start" onMouseOver="MM_swapImage('start','','images/Navi/start_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="87"><a href="termine.htm"><img src="images/Navi/termine.png" name="termine" width="87" height="25" border="0" id="termine" onMouseOver="MM_swapImage('termine','','images/Navi/termine_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="87"><a href="mannschaft.htm"><img src="images/Navi/mannschaft.png" name="mannschaft" width="87" height="25" border="0" id="mannschaft" onMouseOver="MM_swapImage('mannschaft','','images/Navi/mannschaft_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="87"><a href="video.htm"><img src="images/Navi/video.png" name="video" width="87" height="25" border="0" id="video" onMouseOver="MM_swapImage('video','','images/Navi/video_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="87"><a href="links.htm"><img src="images/Navi/links.png" name="links" width="87" height="25" border="0" id="links" onMouseOver="MM_swapImage('links','','images/Navi/links_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="87"><a href="kontakt.htm"><img src="images/Navi/kontakt.png" name="kontakt" width="87" height="25" border="0" id="kontakt" onMouseOver="MM_swapImage('kontakt','','images/Navi/kontakt-onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="89"><a href="gaestebuch.htm"><img src="images/Navi/gaestebuch.png" name="gaestebuch" width="87" height="25" border="0" id="gaestebuch" onMouseOver="MM_swapImage('Image1','','images/Navi/gaestebuch_onm.png',1);MM_swapImage('gaestebuch','','images/Navi/gaestebuch_onm.png',1)" onMouseOut="MM_swapImgRestore()"></a></td>
<td width="4"> </td>
<td> </td>
</tr>
</table></td>
</tr>
<tr>
<td height="61"> </td>
<td> </td>
<td width="120" valign="top"> </td>
<td width="120" valign="top"> </td>
<td width="120" valign="top"> </td>
<td width="120" valign="top"> </td>
<td width="88" valign="top"> </td>
<td width="130"><form action="login-pruefung.php" method="post">
<input name="Passwort" size="10" type="password">
<input name="Send" type="submit" value="Login">
</form>
<?php
$Zugangspasswort = "xyz";
if($_SESSION['Passwort'] == $Zugangspasswort)
{
}
else
{
}
?></td>
<?php
if (!isset($_SESSION['captcha_spam']) || $_POST["sicherheitscode"] != $_SESSION['captcha_spam']) {
$err_text.="Der Sicheheitscode ist falsch<br>";
}
?>
<td width="21" valign="top"> </td>
</tr>
</table></td>
</tr>
<tr>
<td> <table width="960" border="0" cellspacing="2" cellpadding="5">
<tr>
<td width="119"><img src="images/spacer256_192.gif" width="119" height="192"></td>
<td width="428"><form name="forms" method="post" action="/system-cgi/formmail.pl">
<input type=hidden name="recipient" value="xyz@.de">
<input type="hidden" name="subject" value="Kontaktformular">
<input type=hidden name="redirect" value="http://www.heidkrug.de/antwortseite.htm">
<input type=hidden name="required" value="name,email">
<input type=hidden name="missing_fields_redirect" value="http://www.heidkrug.de/fehlerseite.htm">
<p>
<input name="name" type="text" class="kontakt_farbe" id="name" value="Name" size="25" maxlength="25">
</p>
<p>
<input name="email" type="text" class="kontakt_farbe" id="email" value="E-Mail-Adresse" size="25" maxlength="25">
</p>
<p><img src="captcha/captcha.php" width="140" height="40" border="0" title="Sicherheitscode"> </p>
<input type="text" name="sicherheitscode" size="5">
<p>
<textarea name="textarea" cols="30" rows="12" class="kon_text_hin" onFocus="MM_changeProp('textarea','','hidden','','TEXTAREA')"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Senden">
</p>
<p>
<input name="hiddenField" type="hidden" value="E-Mail aus heidkrug96">
</p>
</form></td>
<td width="8"> </td>
<td width="355" valign="top"><p>Trainer und Betreuer:</p>
<a href="mailto:torsten.spohler@onlinehome.de">Email-Adresse</a>
</p>
<p><a href="mailto:bernd.pieper1@ewetel.net">Email-Adresse</a></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Und hier das captcha.php:
<?php
session_start();
unset($_SESSION['captcha_spam']);
function randomString($len) {
function make_seed(){
list($usec , $sec) = explode (' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
//Der String $possible enthält alle Zeichen, die verwendet werden sollen
$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
$str="";
while(strlen($str)<$len) {
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); //Die Zahl bestimmt die Anzahl stellen
$_SESSION['captcha_spam'] = $text;
header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = $_SERVER['DOCUMENT_ROOT']."/captcha/XFILES.TTF"; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,30);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
Danke schon Mal
wäre echt nett wenn ihr helfen könntet |
|
| Nach oben |
|
 |
Steef389
Anmeldedatum: 20.06.2007 Beiträge: 57
|
Verfasst am: 27.03.2008, 00:38 Titel: |
|
|
Folgende Fragen zum nachdenken:
1. Was ist PHP?
2. Warum kann es dann nicht funktionieren?
Antworten:
1. PHP ist eine Serverseitige Sprache => wird erst nach abschicken des Formulars ausgeführt.
2. Das E-mailformular ruft die Seite "/system-cgi/formmail.pl" auf. Das heißt die Abfrage muss in dieses Script. Wobei das allerdings sehr wahrscheinlich kein PHP ist, sondern perl.
Und die mailto-e-mailadressen kann man mit dieser Methode sowieso nicht schützen. |
|
| Nach oben |
|
 |
beppi
Anmeldedatum: 20.12.2007 Beiträge: 4
|
Verfasst am: 27.03.2008, 18:58 Titel: |
|
|
Hallo Steef,
Vielen Dank für die Antwort !!!!!!
Bin blutiger Anfänger, möchte aber gerne dazulernen. Ok, von Perl habe ich schon mal gehört. Heißt das, dass die If-Abfrage über PHP nicht funktioniert?
Habe mal versucht den Versand über:
<form name="forms" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
zu steuern? Geht natürlich nicht.
Kannst Du mir noch mal helfen?
Thanks |
|
| Nach oben |
|
 |
Steef389
Anmeldedatum: 20.06.2007 Beiträge: 57
|
Verfasst am: 27.03.2008, 20:28 Titel: |
|
|
Dann müsstest du das komplette Script umschreiben.
Es gibt zwei Möglichkeiten:
1. Du suchst dir irgendwo jemanden der sich mit Perl auskennt
2. Du suchst dir ein neues PHP-Kontaktformuar oder jemanden, der dir das umbaut. Ich habe aber leider im moment keine Zeit |
|
| Nach oben |
|
 |
beppi
Anmeldedatum: 20.12.2007 Beiträge: 4
|
Verfasst am: 27.03.2008, 21:34 Titel: |
|
|
OK, dann wird es wohl ein neues Kontaktformular, auf PHP-Basis. Das wird wohl die einfachste Möglichkeit sein.
Danke für die Hilfe! |
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. You can attach files in this forum You can download files in this forum
|
|