Seite 1 von 1

Captcha in tpl Dateien integrieren

Verfasst: 18.05.2008, 14:14
von jaap
Habe ein kleines Problem ... in einen erstellten Portal mit Cakephp.org möchte ich jetzt ein Captcha integrieren in einen Kontaktformular

Das Problem ist wie folgend ich bekomme nicht den speziellen Code für das Cakephp hin.

Grund dessen habe ich mir ein fertiges Captcha Script https://www.stoppt-den-spam.info/webmas ... cript.html genommen.

tja das dumme ist nur das die tpl dateien nicht die benötigten PHP Anweisungen ausführen.

folgende PHP Anweisungen müssen in die contact.tpl rein:

Code: Alles auswählen

   <?php
session_start&#40;&#41;;
if&#40;isset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41; AND $_POST&#91;"sicherheitscode"&#93; == $_SESSION&#91;'captcha_spam'&#93;&#41;&#123;
unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;; 

Code: Alles auswählen

<tr>
<td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td><input type="text" name="sicherheitscode" size="5"></td>
</tr>  
Problem ist wie gesagt das PHP nicht in tpl dateien ausführbar ist, deshalb meine Frage wie bekomme ich den obigen Code in der conatct.tpl zum laufen?

Zb über über eine dritte datei die dann die den code per html in der contact.tpl ausgibt?

Ich leider nicht weiter und wie man sowas umsetzt und würde mich auf Hilfe sehr freuen :wink:

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 19.05.2008, 06:57
von CIX88
Im Prinzip ist src="captcha/captcha.php" schon richtig - wenn der Pfad stimmt.
Bei der Ausgabe wird ja dann auf captcha.php zugegriffen, und nicht auf eine TPL-Datei.

Verfasst: 19.05.2008, 07:40
von Loptr
Ich kenn zwar Cakephp.org nicht, aber probier mal, ob du im TPL bei sowas ein Ergebnis (positives) bekommst:

{php}
echo 'Hallo SEO Welt';
{/php}

;-)

Verfasst: 19.05.2008, 10:52
von jaap
ich hatte ja schon gechrieben oben im Posting das in tpl Dateien kein PHP ausführbar ist.

tpl = Template File Dateien = nur gültes HTML erlaubt

Grund warum kein PHP ausgeführt wird ... ganz einfach weil tpl dateien nicht geparst werden im Gegensatz zu PHP Dateien, grund dessen wird Deine PHP Anweisung auch nicht ausgeführt :wink:

Verfasst: 19.05.2008, 10:54
von jaap
CIX88 hat geschrieben:Im Prinzip ist src="captcha/captcha.php" schon richtig - wenn der Pfad stimmt.
Bei der Ausgabe wird ja dann auf captcha.php zugegriffen, und nicht auf eine TPL-Datei.
jepp ^^ aber das Probem ist ohne Sessions wird das Bild nicht angezeigt, da keine gültige Sessions vorliegt :wink:

Verfasst: 20.05.2008, 06:34
von CIX88
Hmmm, sollte aber gehen mit der Session wenn diese in der captcha.php gestartet wird. Das TPL-File wird ja durch PHP geparst, da sehe ich im Moment nicht, warum es nicht gehen sollte. Letztlich rufst du ja keine TPL direkt auf, sondern immer eine PHP-Datei, und da kann die Session eigentlich nicht verloren gehen. session_start() muss in deine Anwendung, welche die TPL-Dateien parst, und session_start() muss in deine captcha.php. In der TPL macht es wenig Sinn.

Verfasst: 20.05.2008, 09:19
von Indigo
Es muss doch eine PHP Datei geben, die deine TPL aufruft.

Dort müsste doch dann der PHP Code rein.

Code: Alles auswählen

session_start&#40;&#41;; 
if&#40;isset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41; AND $_POST&#91;"sicherheitscode"&#93; == $_SESSION&#91;'captcha_spam'&#93;&#41;&#123; 
unset&#40;$_SESSION&#91;'captcha_spam'&#93;&#41;; 
Der Rest verbleibt in der TPL.