Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: WebStyleBoard. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Mittwoch, 26. Juli 2006, 13:27

Captcha für Anfänger

Hallo!
Da ich in meinem Gästebuch vermehrt Spameintragungen habe, habe ich das Simples Captcha per Session Skript aus diesem Board eingebaut. (http://www.webstyleboard.de/wsb/thread.php?threadid=6011)
Allerdings funktioniert das bei mir nicht ganz.
Ich muss dazu sagen, dass ich PHP Anfänger bin und Skripte zwar lesen und interpretieren kann aber beim Schreiben von eigenen Code habe ich noch Schwierigkeiten.
Ob ich jetzt die richtige oder gar keine ZAhl eintrage, jeder Eintrag wird in die DAtenbank geschrieben. Was mache ich da falsch?

if (!empty($_POST["Name"]) && !empty($_POST["Kommentar"]) && ($set_sicherheitscode=="true")){
if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
if($_POST['captcha_str']!=$_SESSION['captcha_string']){
// ERROR ERROR ERROR
// mache was, denn der eingegebene Code ist falsch oder fehlt

Passt das so überhaupt und was soll da nun rein?

}
$datum = date("d.m.Y, H:i") . " Uhr";
$name = htmlspecialchars($_POST["Name"]);
$mail = htmlspecialchars($_POST["Mail"]);
$kommentar = htmlspecialchars($_POST["Kommentar"]);
$home = htmlspecialchars($_POST["Home"]);
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$sql = "INSERT INTO gbook " . "VALUES '', '$name' , '$mail', '$datum', '$kommentar', '$home', '$ip','0')";
mysql_query($sql);
...

lg und danke!

2

Mittwoch, 26. Juli 2006, 14:24

erstmal ein Hilöchen

Diese Variante funktioniert nur, wenn du das Script bei einem Fehler komplett abbrichst ... ansonsten muss das INSERT INTO in den else-Teil. Ich hab dir mal das Fehlende rot hervorgehoben.

if (!empty($_POST["Name"]) && !empty($_POST["Kommentar"]) && ($set_sicherheitscode=="true")){
if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
if($_POST['captcha_str']!=$_SESSION['captcha_string']){
// ERROR ERROR ERROR
// mache was, denn der eingegebene Code ist falsch oder fehlt

Passt das so überhaupt und was soll da nun rein?

}else{
$datum = date("d.m.Y, H:i") . " Uhr";
$name = htmlspecialchars($_POST["Name"]);
$mail = htmlspecialchars($_POST["Mail"]);
$kommentar = htmlspecialchars($_POST["Kommentar"]);
$home = htmlspecialchars($_POST["Home"]);
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$sql = "INSERT INTO gbook " . "VALUES '', '$name' , '$mail', '$datum', '$kommentar', '$home', '$ip','0')";
mysql_query($sql);
}
....


btw: es sieht besser aus, wenn man den Code hier mit
[php*]...code...[/php*] (ohne die *)
umschliesst :)

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if (!empty($_POST["Name"]) && !empty($_POST["Kommentar"]) && ($set_sicherheitscode=="true")){
if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
if($_POST['captcha_str']!=$_SESSION['captcha_string']){
// ERROR ERROR ERROR 
// mache was, denn der eingegebene Code ist falsch oder fehlt

/* Hier kannst du zb das Script abbrechen und eine Fehlermeldung
ausgeben und was in deinem fall das Beste ist kann man so ohne das
ganze Script zu sehen schlecht sagen */

}else{
$datum date("d.m.Y, H:i") . " Uhr";
$name htmlspecialchars($_POST["Name"]); 
$mail htmlspecialchars($_POST["Mail"]); 
$kommentar htmlspecialchars($_POST["Kommentar"]);
$home htmlspecialchars($_POST["Home"]);
$ip $HTTP_SERVER_VARS["REMOTE_ADDR"];
$sql "INSERT INTO gbook " "VALUES '', '$name' , '$mail', '$datum', '$kommentar', '$home', '$ip','0')";
mysql_query($sql);
}
.....


um dir nun aber wirklich effektiv helfen zu können, müsste man einfach mehr von dem Script sehen, wo du das Captcha einbauen willst. Also frag einfach weiter nach ;)

TNS
Signatur von »TheNobody Style«

3

Mittwoch, 26. Juli 2006, 15:07

Hi!
Danke für die schnelle Antwort, ich bin gerade am Experimentieren.

Wie bekommt man eigentlich den Code so schön gefärbt ins Feld?

lg

4

Mittwoch, 26. Juli 2006, 15:51

Zitat von »abraxa«

ich bin gerade am Experimentieren.

Das ist gut ;)

Zitat

Wie bekommt man eigentlich den Code so schön gefärbt ins Feld?

Also wenn du JavaScript aktiviert hast, dann ist das ganz einfach. Kopiere den Code einfach normal in das Textfeld, so wie du es ja oben schon gemacht hast. Danach markierst du den Code und klickst auf den Button (über dem Textfeld) und bestätigst das ganze. Schneller geht es wenn du vor den Code einfach [php*] und hinter den Code [/php*] eintippst (ohne die Sternchen) ... dann passt das.

[php*]echo "das is mit bunt und so";[/php*]

ergibt dann:

PHP-Quelltext

1
echo "das is mit bunt und so";




soweit erstmal schnell ... ;)
TNS
Signatur von »TheNobody Style«

5

Mittwoch, 26. Juli 2006, 20:22

Hallo nocheinmal!
Also mein Code schaut nun so aus und funktioniert auch. Zumindest, wenn ich es ausprobiere, wird der Eintrag nur dann in die Datenbank geschrieben, wenn die Zahlen stimmen. Allerdings habe ich heute schon wieder einige unerwünschte Einträge erhalten. Immer gleicher TExt, verschiedene Mailadressen, gleiche IP, die wechselt allerdings nach einigen TAgen, sodass ein Blocken anscheinend nichts nützt. Ich schalte zwar die Einträge erst nach Kontrolle frei aber es ist doch genug Arbeit, jeden Tag an die 20 Einträge zu löschen.
In einem Posting weiter unten bestand ja schon einmal das Problem aber Lösung wurde noch keine gefunden.
Arbeiten die Robots vielleicht doch mit OCR Software? Gibt es eine Lösung dagegen?

Noch eine Frage: Einfache oder doppelte Anführungszeichen bei den $_POST Variablen? Anscheinend geht beides - oder?

lg und danke!

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
include("zugriff.inc.php");

if (!empty($_POST["Name"]) && !empty($_POST["Kommentar"]) && ($set_sicherheitscode=="true")){
if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
  if($_POST['captcha_str']!=$_SESSION['captcha_string']){
    die ("<p><strong><font color='#FF0000'>Bitte gib die Zahlen in das Feld ein!</font></strong></p><br><p><a href="guestbook.php">Zur&uuml;ck zum G&auml;stebuch</a></p>");
  }
  
    $datum date("d.m.Y, H:i") . " Uhr";
    $name htmlspecialchars($_POST["Name"]);      
    $mail htmlspecialchars($_POST["Mail"]);    
    $kommentar htmlspecialchars($_POST["Kommentar"]);
    $home htmlspecialchars($_POST["Home"]);
    $ip $HTTP_SERVER_VARS["REMOTE_ADDR"];
    $sql "INSERT INTO gbook " "VALUES ('', '$name' , '$mail', '$datum', '$kommentar', '$home', '$ip','0')";
    mysql_query($sql); 
    $adminmail "xxx@xxx.at"; 
    $adminbetreff "Neuer Gästebucheintrag"; 
    $admininhalt $name " Mail: (" $mail ") Home: (" $home ") hat am " $datum " geschrieben: " $kommentar " IP: " $ip; 
    mail($adminmail$adminbetreff$admininhalt"From: Homepagemeldung<webserver@xxx.at>"); 
}
else {
die ("<p><strong><font color='#FF0000'>Alle Felder mit * müssen ausgefüllt werden!</font></strong></p><br><p><a href="guestbook.php">Zur&uuml;ck zum G&auml;stebuch</a></p>");
}
mysql_close();
echo "<p>Vielen Dank!</p>";
echo "<p><strong><font color='#FF0000'>Der Eintrag wird nun gepr&uuml;ft und so bald wie m&ouml;glich freigeschaltet!</font></strong></p>";

6

Donnerstag, 27. Juli 2006, 06:57

mal auf die Schnelle am frühen Morgen ;)

Zitat

Immer gleicher TExt, verschiedene Mailadressen, gleiche IP, die wechselt allerdings nach einigen TAgen, sodass ein Blocken anscheinend nichts nützt.

vielleicht sollte da eine IP-Sperre weiterhelfen ... einfach pro IP nur einen Eintrag innerhalb von zb. 24 Stunden zulassen. Vielleicht ist das jemand der automatisch die Formularfelder vorfüllen lässt und den Code per Hand einträgt ... denn Multi-Einträge mit der gleichen IP ist eher untypisch.

Zitat

Arbeiten die Robots vielleicht doch mit OCR Software? Gibt es eine Lösung dagegen?

Ich vermute mal das mit der richtigen Software das einfache Catchateil keine wirklich Hürde ist. Allerdings hab ich die Erfahrung gemacht, dass diese Variante normal schon ausreicht um sich weitgehend dieses Pack vom Leib zu halten ... immer davon auszugehen, dass in dem Script selber keine Fehler eingebaut sind. Und ob es eine Lösung gegen OCR Software gibt ... schweres Captcha ... also zb. Verformung der zahlen und buchstaben bist zum Erbrechen obwohl auch das kein 100%iger ist.

Zitat

Noch eine Frage: Einfache oder doppelte Anführungszeichen bei den $_POST Variablen? Anscheinend geht beides - oder?

Es geht beides ... besser sind aber einfache Anführungsstriche


so langsam wirds wohl Zeit fürs Bett ;)
TNS
Signatur von »TheNobody Style«

7

Donnerstag, 27. Juli 2006, 17:16

Schon munter? ;)

Jetzt habe ich zwar ein funktionierendes Skript, allerdings immer noch unerwünschte Einträge, die kommen immer so in Abständen von ca. 5 Minuten, 5 - 10 Stück auf einmal, dann ist ein paar Stunden Ruhe. Die wollen uns Medikamente und Versicherungen verkaufen ...
Es handelt sich um das Gästebuch einer Schule, daher bringt eine IP Sperre nicht viel (gibts da auch ein Tutorial?), da ja dann alle Schüler, die von der Schule aus schreiben möchten, auch ausgesperrt werden.

Gibt es eine andere Lösung?

lg und danke für die Hilfe!

8

Samstag, 29. Juli 2006, 07:43

Hallo!
Ich habe es geschafft, ich bin den lästigen Einträger los. Dein Tipp aus dem Posting weiter unten hat geholfen, ich lasse einfach keine Einträge mit Links zu:

PHP-Quelltext

1
2
3
4
5
<?php $pattern '#(^|[^"=]{1})([URL]http://[/URL]|[URL]ftp://[/URL]|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
preg_match_all($pattern,$_POST['Kommentar'],$treffer);
if(count($treffer[0])>0){ // wenn Links gefunden werden tschüss
    die("Das ist ein Gästebuch und keine Linksammlung");
} ?>


Vielleicht brauche ich ja das Captcha dann gar nicht mehr ...

lg und danke!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »abraxa« (29. Juli 2006, 07:45)


9

Samstag, 26. August 2006, 20:21

Hallo,

irgendwie klappt es bei mir net :(

eintragen.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php ### Dateiänderung 1 für den simple-Captcha-by-TNS
 require("captcha_options.php");
 if($set_sicherheitscode=="true"){
 session_start();
 $_SESSION['captcha_string'] = mt_rand(10000,99999);
 }
 ### Ende Dateiänderung 1 ?>
<body bgcolor="#D2E2EF">
<center>

<table border="0" cellpadding="0" cellspacing="0">
        <form method="post" action="gb.php">
        <tr>
                <td style="width:100px; text-align:left">
                        Name:
                </td>
                <td style="width:20px; text-align:center">
                        <img src="../img/star.gif" alt="" border="0" title="" />
                </td>
                <td style="width:335px; text-align:left" colspan="2">
                        <input type="text" name="name" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:10px; font-weight:bold">
                </td>
        </tr>
        <tr>
                <td style="width:100px; text-align:left">
                        E-Mail Adresse:
                </td>
                <td style="width:20px; text-align:center">
                        <img src="../img/star.gif" alt="" border="0" title="" />
                </td>
                <td style="width:335px; text-align:left" colspan="2">
                        <input type="text" name="email" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:10px; font-weight:bold">
                </td>
        </tr>
        <tr>
                <td style="width:100px; text-align:left">
                        Homepage:
                </td>
                <td>&nbsp;</td>
                <td style="width:335px; text-align:left" colspan="2">
                        <input type="text" name="page" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:10px; font-weight:bold">&nbsp;...ohne&nbsp;[URL]http://[/URL]
                </td>
        </tr>
        <tr>
                <td style="width:100px; text-align:left">
                        Eintrag:
                </td>
                <td style="width:20px; text-align:center">
                        <img src="../img/star.gif" alt="" border="0" title="" />
                </td>
                <td style="width:335px; text-align:left" colspan="2">
                        <textarea name="eintrag" rows="8" cols="38" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:12px; font-weight:bold"></textarea>
                </td>
        </tr>
        <tr>
                <td style="width:20px; text-align:center">&nbsp;</td>
                <td style="width:20px; text-align:center">
                        <img src="../img/star.gif" alt="" border="0" title="" />
                </td>
                <td align="left">
                        <img src="captcha_img.php" alt="" title="" border="0" style="border: 1px dashed #000000; background-color:#D2E2EF; font-weight:bold" />
                </td>
                <td>
                        <input type="text" name="captcha_str" maxlength="5" size="5" value="" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:12px; font-weight:bold" /> bitte Code eintragen<br />
                </td>
        </tr>
        <tr>
                <td style="width:20px; text-align:center">&nbsp;</td>
                <td style="width:20px; text-align:center">&nbsp;</td>
                <td colspan="2">
                        <input type="submit" name="Button" value="Absenden" style="border: 1px dashed #000000; background-color:#D2E2EF; font-size:10px; font-weight:bold">&nbsp;&nbsp;-&nbsp;&nbsp;<img src="../img/star.gif" alt="" />&nbsp;= Pflichtfeld
                </td>
        </tr>
        </form>
</table>
</center>
</body>


gb.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
### Dateiänderung 2 für den simple-Captcha-by-TNS
 require("captcha_options.php");
 if($set_sicherheitscode=="true"){
 session_start();
 }
 ### Ende Dateiänderung 2

/* Variablen aus dem Forumlar bestimmen */
$name      $HTTP_POST_VARS["name"];
$email     $HTTP_POST_VARS["email"];
$page                     $HTTP_POST_VARS["page"];
$icq                      $HTTP_POST_VARS["icq"];
$eintrag   $HTTP_POST_VARS["eintrag"];

include("config.inc.php");
$db = @mysql_pconnect($host$user$pass) or die ("Verbindung mit MySQL-Server fehlgechlagen!");
@mysql_select_db($database$db) or die ("Verbindung zur Datenbank fehlgeschlagen!");
$ip $HTTP_SERVER_VARS["REMOTE_ADDR"];
$zeit time();
$nichtmehrgueltig $zeit-$sperre;
$query "DELETE FROM gb_ip WHERE timefeld <= ".$nichtmehrgueltig;
mysql_query($query,$db);
$query "SELECT * FROM gb_ip WHERE ip = '".$ip."'";
$result mysql_query($query,$db);
$rows mysql_num_rows($result);
if ($rows >= 1)
{
 echo "Sorry diese IP ist noch gesperrt !";
}
else
{
 $query "INSERT INTO gb_ip VALUES ('$ip', $zeit)";
 mysql_query($query,$db);
 if($name == "" || $eintrag == "")
 {
   echo "<center>";
            echo "Sie haben leider vergessen das Feld <b>Name</b> und <b>Eintrag</b> auszuf&uuml;llen... ";
            echo "</center>";
 }
    elseif($email == "")
 {
   echo "<center>";
            echo "Sie haben keine E-Mail angegeben !";
            echo "</center>";
 }
 elseif(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z-]{2,4})$",$email))
    {
            echo "<center>";
            echo "Dies ist keine g&uuml;ltige E-Mail Adresse";
            echo "</center>";
    }
    //elseif (ereg("^[^@[:space:]]+@([[:alnum:]-]+.)+[[:alnum:]][[:alnum:]][[:alnum:]]?$",$page))
    elseif ($page == "keine")
    {
            echo "<center>";
            echo "Dies ist keine g&uuml;ltige Homepage Adresse";
            echo "</center>";
    }
    elseif($set_sicherheitscode=="true"){
  if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
  if($_POST['captcha_str']!=$_SESSION['captcha_string']){
    // ERROR ERROR ERROR ;)
    // mache was, denn der eingegebene Code ist falsch oder fehlt
  }
        echo "<center>";
            echo "Der Sicherheitscode ist falsch";
            echo "</center>";
  }
    else
 {
     $sql "INSERT INTO $table (id, name, email, page, eintrag, zeit) VALUES (NULL,'".strip_tags($_POST['name'])."', '".strip_tags($_POST['email'])."', '".strip_tags($_POST['page'])."', '".strip_tags($_POST['eintrag'])."','".time()."')";
     $result mysql_query($sql$db);
     if($result)
     {
      echo "<center>";
      echo "Eintrag erfolgreich! Sie werden sofort weitergeleitet";
      echo "<center>";
     }
                    else
     {
      echo "FEHLER!";
     }
                    if($sendemailonnewmessage == "Yes")
                    {
                    mail("$youremail","Neuer Eintrag in Ihrem Gästebuch"," In Ihrem Gästebuch wurde ein neuer Eintrag geschrieben. Bitte überprüfen Sie den Eintrag.","From:fgru Gaestebuch\n");
                }
  }
}
?>


es wird immer angezzeigt: " Der Sicherheitscode ist falsch "

wo habe ich was falsch gemacht ?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »fgru« (26. August 2006, 20:30)


10

Samstag, 26. August 2006, 21:06

Hallo!
Wenn ich da schnell drüberschaue, sollte nicht in der gb.php die Klammer in Zeile 67 weg? Wenn der Code falsch ist, soll ausgegeben werden, dass der Sicherheitscode falsch ist.

lg

11

Montag, 28. August 2006, 11:08

Hallo,

das mit: " Zeile 67 " klappt net - hat keiner eine Idee ?

12

Montag, 28. August 2006, 12:30

Also ich habe es so gemacht und das klappt:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
include("zugriff.inc.php");

if (!empty($_POST["Name"]) && !empty($_POST["Kommentar"]) && ($set_sicherheitscode=="true")){
if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
  if($_POST['captcha_str']!=$_SESSION['captcha_string']){
    die ("<p><strong><font color='#FF0000'>Bitte gib die Zahlen in das Feld ein!</font></strong></p><br><p><a href="guestbook.php">Zur&uuml;ck zum G&auml;stebuch</a></p>");
  }
    $datum date("d.m.Y, H:i") . " Uhr";
    $name htmlspecialchars($_POST["Name"]);      
    $mail htmlspecialchars($_POST["Mail"]);    
    $kommentar htmlspecialchars($_POST["Kommentar"]);
    $home htmlspecialchars($_POST["Home"]);
    $ip $HTTP_SERVER_VARS["REMOTE_ADDR"];
    $pattern "([URL]http://[/URL]|[URL]ftp://[/URL]|mailto:|news:)";
    preg_match_all($pattern,$kommentar,$treffer);
    if(count($treffer[0])>0){ // wenn Links im Eintrag vorkommen
    die ("<p><strong><font color='#FF0000'>Tut mir leid, Links sind im Gästebuch nicht erlaubt!</font></strong></p><br><p><a href="guestbook.php">Zur&uuml;ck zum G&auml;stebuch</a></p>");
    }
    
    $sql "INSERT INTO gbook " "VALUES ('', '$name' , '$mail', '$datum', '$kommentar', '$home', '$ip','0')";


usw.

lg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »abraxa« (28. August 2006, 12:32)


13

Montag, 28. August 2006, 12:33

das passt aber irgendwie net zu meinem Scirpt - kann es jemand so anpassen ? bin in PHP net so dolle :(

14

Montag, 28. August 2006, 13:16

Habe es hinbekommen - net: " Zeile 67 " weg ---- sondern: " 72 - 73 & 91 " dann klappt des auch - trotzdem - bigTHX ;)

15

Mittwoch, 27. September 2006, 21:00

Hallo,

ich habe ein Projekt am laufen wo sich Leute in unserer Region in einer Liste eintragen können die auch gerne DSL (WLAN,WIMAX oder Alternativen) hätten weil die T-Bums bei uns kein Kabel-DSL ausbaut.
Nun habe ich dort ein Formular und wollte dort das "Simples Captcha per Session" Tut einbauen.
Im Formular geht alles und wird auch alles angezeigt, Nur habe ich das selbe Problem wie mein Vorredner abraxa. Es werden alle Daten eingetragen ob nun der Code eingegeben wurde oder nicht.
Ich bin kein Ass in Sachen PHP und hoffe auf eure Hilfe das ich diesen Spam Mist satt habe!! :(
Hier mal meine beiden Dateien die ich bearbeitet habe. Mit den else das habe ich schon probiert nur klappt das nicht so recht!?!?!? :sick: :eek:

Formular zur Dateneingabe eintragen.php:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
### Dateiänderung 1 für den simple-Captcha-by-TNS
 require("captcha_options.php");
 if($set_sicherheitscode=="true"){
 session_start();
 $_SESSION['captcha_string'] = mt_rand(10000,99999);
 }
 ### Ende Dateiänderung 1
?>

<html xmlns="http://www.w3.org/1999/xhtml">

    <!-- InstanceBegin template="../dsl.data/Musterseiten/dsl_muster.html" -->

        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>DSL in MRWW</title>
            <!-- #BeginHeadLocked "" -->
                <link href="css/styles.css" rel="stylesheet" type="text/css" media="all" />
            <!-- #EndHeadLocked -->
        </head>

        <body>
            <div id="site" align="center">
                <div id="header"></div>
                <div id="content">
                    <div id="navi">
                        <div class="navigationsboxen">
                            <a href="index.html">Startseite</a> 
                        <a href="news/index.php">News</a>
                        <a href="wissen.html">Wissen</a>
                        <a href="liste.php">Die Liste</a> 
                        <a href="eintragen.php">Eintragen</a>
                        <a href="gbook.html">Gästebuch</a> 
                        <a href="kontakt.html">Kontakt</a>  
                        <a href="disclaimer.html">Disclaimer</a> 
                        <a href="impressum.html">Impressum</a></div>
                        <br />
                        <h2>Quatsch Ecke</h2>
                        <iframe src="http://62075.shoutboxes.com/" width="130" height="300" frameborder="0" allowTransparency="true"></iframe>
                        <br />
                        <br />
                        <iframe scrolling="no" src="counter/scarcounter.php" height="140" width="130"></iframe>
                        <br />
                    </div>
                    <div id="inhalt">
                        <!-- InstanceBeginEditable name="Inhalt" -->
                            <form action="sendliste.php" method="post">
                                <h1>Eintrag in die Interessentenliste:</h1>
                                <p>Der Eintrag in diese Liste ist <u>völlig unverbindlich</u>!!<br />
                                        Sie verpflichten Sich hiermit zu nichts<br />
                                        und es wird Ihnen auch nichts zugesichert!!<br />
                                    Die Daten werden wie schon erklärt nicht an Dritte weitergegeben!!<br />
                                        Bitte nur jeden Haushalt einmal eintragen!! Danke!!</p>
                                <table border="0" cellspacing="2" cellpadding="0">
                                    <tr height="0">
                                        <td align="right" width="150">
                                            <p>Vorname:</p>
                                        </td>
                                        <td align="right" width="5" height="0"></td>
                                        <td align="left" width="250" height="0"><input type="text" name="vorname"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>Nachname oder Firma:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><input type="text" name="name"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>Email:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><input type="text" name="email"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>Vorwahl:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><input type="text" name="vorwahl"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>Rufnummer:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><input type="text" name="tel"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>PLZ:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><input type="text" name="plz"></input></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150">
                                            <p>Ort:</p>
                                        </td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250"><select name="ort" size="1">
                                                <option value="Mahlenzien">Mahlenzien</option>
                                                <option value="Viesen">Viesen</option>
                                                <option value="Rogäsen">Rogösen</option>
                                                <option value="Zitz">Zitz</option>
                                                <option value="Wenzlow">Wenzlow</option>
                                                <option value="Grüningen">Grüningen</option>
                                                <option value="Wollin">Wollin</option>
                                                <option value="Boecke">Boecke</option>
                                            </select></td>
                                    </tr>
                                    <tr>
                                        <td align="right" width="150"><img src="captcha_img.php" alt="" /></td>
                                        <td align="right" width="5"></td>
                                        <td align="left" width="250">
                                        <p>
                                        <input type="text" name="captcha_str" value="" /><br>bitte 5stelligen Code eintragen</p>
                                        </td>
                                    </tr>
                                </table>
                                <p><input type="submit" name="" value="Eintragen" /> <input type="reset" value="Loeschen" /></p>
                            </form>
                        <!-- InstanceEndEditable --></div>
                </div>
                <div id="footer"></div>
            </div>
        </body>

    <!-- InstanceEnd -->

</html>


Datei zur übergabe an die Datenbank sendlist.php:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <!-- InstanceBegin template="../dsl.data/Musterseiten/dsl_muster.html" -->

        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>DSL in MRWW</title>
            <!-- #BeginHeadLocked "" -->
                <link href="css/styles.css" rel="stylesheet" type="text/css" media="all" />
            <!-- #EndHeadLocked -->
        </head>

        <body>
            <div id="site" align="center">
                <div id="header"></div>
                <div id="content">
                    <div id="navi">
                        <div class="navigationsboxen">
                            <a href="index.html">Startseite</a> 
                        <a href="news/index.php">News</a>
                        <a href="wissen.html">Wissen</a>
                        <a href="liste.php">Die Liste</a> 
                        <a href="eintragen.php">Eintragen</a>
                        <a href="gbook.html">Gästebuch</a> 
                        <a href="kontakt.html">Kontakt</a>  
                        <a href="disclaimer.html">Disclaimer</a> 
                        <a href="impressum.html">Impressum</a></div>
                        <br />
                        <h2>Quatsch Ecke</h2>
                        <iframe src="http://62075.shoutboxes.com/" width="130" height="300" frameborder="0" allowTransparency="true"></iframe>
                        <br />
                        <br />
                        <iframe scrolling="no" src="counter/scarcounter.php" height="140" width="130"></iframe>
                        <br />
                    </div>
                    <div id="inhalt">
                        <!-- InstanceBeginEditable name="Inhalt" -->
                        <?php
                            ### Dateiänderung 2 für den simple-Captcha-by-TNS
                             require("captcha_options.php");
                             if($set_sicherheitscode=="true"){
                             session_start();
                             }
                             ### Ende Dateiänderung 2
                        
                            ### Dateiänderung 3 für den simple-Captcha-by-TNS
                              if($set_sicherheitscode=="true"){
                              if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
                              if($_POST['captcha_str']!=$_SESSION['captcha_string']){
                                // ERROR ERROR ERROR ;)
                                // mache was, denn der eingegebene Code ist falsch oder fehlt
                              }
                              }
                            
                            
                            ### Ende Dateiänderung 3
                            include('admin/config.php');

                            @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
                            mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
                            
                            
                            $sql "INSERT INTO liste (vorname, name, email, vorwahl, tel, plz, ort, datum) VALUES ('".$_POST['vorname']."', '".$_POST['name']."', '".$_POST['email']."', '".$_POST['vorwahl']."', '".$_POST['tel']."', '".$_POST['plz']."', '".$_POST['ort']."', NOW())";
                            
                            
                            if (mysql_query($sql))
                            {
                            echo "Die Daten wurden erfolgreich eingetragen!";
                            }
                            else
                            {
                            echo "Fehler beim eintragen der Daten!";
                            }
                            ?><!-- InstanceEndEditable --></div>
                </div>
                <div id="footer"></div>
            </div>
        </body>

    <!-- InstanceEnd -->

</html>


Also ich hab jetzt schon alle Varianten ausprobiert (man muss sagen wirklich PROBIERT) und es hat noch nichts richtig funktioniert!
Ich bin für jede Hilfe dankbar!!! :surprised:
Signatur von »Hurricane« Bis denne...
Hurricane

16

Donnerstag, 28. September 2006, 04:01

Da es dir ja eher um eine schnelle Lösung geht ... ;)

Fehler Nummer1 (eintragen.php):
Der PHP-Code "Dateiänderung 1" gehört ganz an den Anfang der Datei, denn es darf vorher kein Output stattfnden ... also vor <?PHP darf noch nicht mal nen Leerzeichen sein. Der Anfang der Datei muss also so aussehen:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
<?php
### Dateiänderung 1 für den simple-Captcha-by-TNS
 require("captcha_options.php");
 if($set_sicherheitscode=="true"){
 session_start();
 $_SESSION['captcha_string'] = mt_rand(10000,99999);
 }
 ### Ende Dateiänderung 1
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



Fehler Nummer2 (sendlist.php):
das gleiche Problem wie oben .. die "Dateiänderung 2" muss ganz an den anfang

PHP-Quelltext

1
2
3
4
5
6
7
8
9
<?php
### Dateiänderung 2 für den simple-Captcha-by-TNS
require("captcha_options.php");
if($set_sicherheitscode=="true"){
     session_start();
}
### Ende Dateiänderung 2
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



Fehler 3 (sendlist.php):
Es gibt keinerlei Anweisung was gemacht werden soll, wenn der Code nicht stimmt. Deswegen erfüllt das Script auch nicht seinen Zweck.

folgender Code für die sendlist.php sollte das Problem beheben:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- InstanceBeginEditable name="Inhalt" -->
<?php
### Dateiänderung 3 für den simple-Captcha-by-TNS
$codeerror 0;
 if($set_sicherheitscode=="true"){
   if(isset($_POST['captcha_str'])) $_POST['captcha_str'] = trim($_POST['captcha_str']);
      if($_POST['captcha_str']!=$_SESSION['captcha_string']){
          // ERROR ERROR ERROR ;)
          // mache was, denn der eingegebene Code ist falsch oder fehlt
          $codeerror 1;
          echo "Der Sicherheitscode ist falsch oder fehlt";
      }
   }

### Ende Dateiänderung 3
if($codeerror == 0){
 include('admin/config.php');
 @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
 mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
 $sql "INSERT INTO liste (vorname, name, email, vorwahl, tel, plz, ort, datum) VALUES ('".$_POST['vorname']."', '".$_POST['name']."', '".$_POST['email']."', '".$_POST['vorwahl']."', '".$_POST['tel']."', '".$_POST['plz']."', '".$_POST['ort']."', NOW())";
  if (mysql_query($sql)){
  echo "Die Daten wurden erfolgreich eingetragen!";
  }else{
  echo "Fehler beim eintragen der Daten!";
  }
}
?>
<!-- InstanceEndEditable -->


ungetestet und früh um 4 ... sollte aber hinhauen :-)

TNS
Signatur von »TheNobody Style«

17

Donnerstag, 28. September 2006, 20:16

:hupferl: Klasse!!! Haut super hin!! BIG THX!!! :thumbsup:
Ich hätte ewig probieren können!! :thinker: :wallbash: :thinker: :wallbash:
Signatur von »Hurricane« Bis denne...
Hurricane

18

Donnerstag, 28. September 2006, 23:14

tja ... ich bin sogar früh um 4 noch richtig gut :lol:
Signatur von »TheNobody Style«

19

Donnerstag, 28. September 2006, 23:24

Das muss man so bestätigen!! :applaus: :thumbsup: :anbet:
Signatur von »Hurricane« Bis denne...
Hurricane