perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 20
Click for quality!




12.02.2012 / 02:58

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragphp-captcha in pm (perl?)-modul einbauen?
Seitenanfang
hallo,

ich hab stunden verbracht das irgendwie hin zu bekommen, aber es klappt nicht :-(

ich versuche ein captcha in mein perlsoft-gaestebuch ein zu bauen. das captcha wird angezeigt, code kann eingegeben werden, so weit, so gut.
beim absenden des formulars wird ein routine eines pm-moduls aufgerufen. da muesste auch die abfrage rein. nur ist es wohl das problem, dass ich hier (vergeblich) versuchte, die php-abfrage in das perl-script ein zu binden.

ich hoffe ja ganz arg, dass mir hier auf die spruenge geholfen werden kann!!

ich bin des php/perl kaum maechtig. c++ is meine welt...

hier der letzte teil des formular-aufbaus. das captcha wird ordnungsgemaess generiert und ausgegeben:
(dieser code befindet sich in der datei 'nonetemplate.pm')

Code:

$gb_eintragen .= qq~
<input id="Checkbox_vorschau" type="Checkbox" name="vorschau" value="1"><label class="klein" for="Checkbox_vorschau" tabindex="14"> @{$main_text{$language}}[73]</label>
</div>
</td>
</tr>
</table>
</td></tr>
<tr bgcolor="@{$temp{eintragenback}}[$nonetempnr]">
<td colspan="2" align="center">
<br>
<input type="hidden" name="lang" value="$language">
<input type="hidden" name="user" value="$user">
<input type="hidden" name="out" value="save_gb_entries">
Bitte die folgenden 4 Ziffern eingeben und dann auf "Eintragen" klicken:<br><br>
<img src="/captcha/captcha.php" border="0" title="Sicherheitscode">
  <input type="text" name="sicherheitscode" size="4">  
<input class="submit" type="submit" name="eintragen" value="@{$main_text{$language}}[74]" tabindex="11">
</form>
</td>
</tr>
</table>
</td></tr>
</table>
</td>
~;

hier der teil, der ausgefuehrt wird, wenn das formular abgesandt wird (file save_gb_entries.pm).

es werden vorher noch einige ueberpruefungen des formularinhaltes gemacht. hier der teil, in dem die abfrage rein muss:

if ($error ne "") {
### Error Ausgabe ###
require "$pfad/Source/Output/outputcontrol.pm" || die "$!";
$ausgabe = "error";
$msg_titel = "114";
$msg = "115";
&outputcontrol($ausgabe,$pfad,$user,$msg);
}
elsif ($PS{'vorschau'} eq "1") {
### Inhalte zum Uebergeben preparieren ###
push (@{$myh{name}}, $PS{'name'});
push (@{$myh{stadt}}, $PS{'stadt'});
push (@{$myh{icq}}, $PS{'icq'});
push (@{$myh{aim}}, $PS{'aim'});
push (@{$myh{yahoo}}, $PS{'yahoo'});
push (@{$myh{odigo}}, $PS{'odigo'});
push (@{$myh{homepage}}, $PS{'homepage'});
push (@{$myh{email}}, $PS{'email'});
push (@{$myh{hpbewertung}}, $PS{'seitenbewertung'});
push (@{$myh{headsmilie}}, $PS{'headsmilie'});
push (@{$myh{eintrag}}, $PS{'eintrag'});
push (@{$myh{id}}, $id);
$ip = @{$main_text{$language}}[53];
$eintrag_datum_show = @{$main_text{$language}}[78];

### Eingabeseite mit Vorschau aufrufen ###
$count = "0";
$ausgabe = "eintragen";
require "$pfad/Source/Output/outputcontrol.pm" || die "$!";
&outputcontrol($ausgabe,$pfad,$user,$count);
}
else {
#***************************************
### Felder 'NULL'en wenn sie leer sein sollten ###
if ($PS{'deaktivsmilie'} eq "") {$PS{'deaktivsmilie'} = "0";}
if ($PS{'komentarinfo'} eq "") {$PS{'komentarinfo'} = "0";}

##############################
### ID Bestimmen -> Anfang ###
$anzahl = psdbm_countrows("$databaseart","$db_name","$db_pref${user}_gbdata");
$id = psdbm_aktprimarykey("$databaseart","$db_name","$db_pref${user}_gbdata","id");
$id++;
if ($anzahl eq "0") { $id = "1"; }
### ID Bestimmen -> Ende ###
############################

### Eintrag speichern###
psdbm_insert("$databaseart","$db_name","$db_pref${user}_gbdata","id=$id,name='$PS{'name'}',datum=$datum,email='$PS{'email'}',stadt='$PS{'stadt'}',homepage='$PS{'homepage'}',headsmilie='$PS{'headsmilie'}',avart='',komentare=0,zeigen=$moderate_gb,icq='$PS{'icq'}',yahoo='$PS{'yahoo'}',aim='$PS{'aim'}',odigo='$PS{'odigo'}',hpbewertung=$PS{'seitenbewertung'},ip='$ENV{'REMOTE_ADDR'}',smiliesdeak=$PS{'deaktivsmilie'},deakkomsmilies=0,komentarinfo=$PS{'komentarinfo'},komentarvon='',komentar='',eintrag='$PS{'eintrag'}'");

bei der sternchen-zeile muss meines erachtens die abfrage rein. allerdings so wie sie in der einbauanleitung steht, gehts nich. wenn ich mich recht erinner stoerte er sich andem schluesselwort AND.
bei anderen versuchen meinte er, er kenne die funktion ~main::isset nicht

den captcha-code hab ich von hier:
http://stoppt-den-spam.info/webmaster/captcha-tutorial/index.html

ich hoffe ihr habt die loesung...

Datum: 26.04.2008-20:23

-






-
-