Welcome, Guest. Please login or register.
January 06, 2009, 07:00:34 AM

Login with username, password and session length
Search:     Advanced search
Website Baker 2.7.0 (stable) released!
For more information look here.
The announcement board can be found here.
71095 Posts in 11245 Topics by 6867 Members
Latest Member: sababa
* Home Help Search Login Register
+  Website Baker Community Forum
|-+  Deutsch (German)
| |-+  Hilfe/Support
| | |-+  Templates, Module & Co. (Moderators: ruebenwurzel, BerndJM)
| | | |-+  chapta - Formular-Gästebuch
Pages: [1] Go Down Print
Author Topic: chapta - Formular-Gästebuch  (Read 1821 times)
daveland
Apprentice Baker
***
Offline Offline

Posts: 75



« on: January 22, 2007, 11:35:44 AM »

Hallo.
Wenn man im Kontaktformular oder im Gästebuch eine falsche Prüfziffer eingibt, kommt man auf eine Seite mit folgendem Inhalt:
"Die eingegebene Prüfziffer stimmt nicht überein. Wenn Sie Probleme mit dem Lesen der Prüfziffer haben, bitte schreiben Sie eine Email an uns: email (at) email.com"

Das ist meines Erachtens nicht so die optimale Lösung, mir wäre lieber es würde das Formular oder das Gästebuch (oder wie auch immer) wieder erscheinen, allerdings eben mit einer Fehlermeldung, wie z. B. "die eingegebene Prüfnummer ist nicht korrekt, bitte versuchen Sie es nocheinmal" oder so ähnlich.

Hat das schon jemand realisiert? Kann man so etwas als Laie realisieren? Da muss sicher der eine oder andere Code umgeschrieben werden, oder?

daveland

Logged
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #1 on: January 22, 2007, 11:43:14 AM »

Hallo,

ja, du hast recht, dazu müssen einige corefiles von WB geändert werden (um es generell zu ändern) oder die Module angepasst werden. In beiden Fällen bedeuted das aber, dass deine Änderungen nach dem nächsten Update von WB oder den Modulen wieder überschrieben werden. Falls du die Änderungen trotzdem machen möchtest, sag Bescheid, dann schau ich mal an welchen Dateien du was ändern musst. Mit ein bisserl php ist das auch für Laien möglich.  wink

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
daveland
Apprentice Baker
***
Offline Offline

Posts: 75



« Reply #2 on: January 22, 2007, 12:01:35 PM »

Falls du die Änderungen trotzdem machen möchtest, sag Bescheid, dann schau ich mal an welchen Dateien du was ändern musst. Mit ein bisserl php ist das auch für Laien möglich.  wink
Matthias

Hallo Matthias,
ja das wäre sehr nett von dir. Ich würds gern versuchen, weil mir eben die originale Lösung nicht so gefällt. Vielleicht krieg ich´s ja hin. Bin zuversichtlich.

An die Updates hab ich nicht gedacht, aber ich denke mal, wenn es nicht gerade tagelange Umbauarbeiten sind, kann man die ja dann auch wieder verändern.

Gruß,
Markus
Logged
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #3 on: January 22, 2007, 12:07:25 PM »

Hallo,

ich schau mal heut abend wenn ich daheim bin.

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
daveland
Apprentice Baker
***
Offline Offline

Posts: 75



« Reply #4 on: January 22, 2007, 12:08:40 PM »

Lass dir ruhig Zeit, es eilt nicht.
Bin schon froh, das du mir hilfst.
Logged
YeShakka
Junior Baker
****
Offline Offline

Posts: 146



« Reply #5 on: January 22, 2007, 01:00:48 PM »

Hallo,
ich würde mich freuen, wenn diese verbesserung Einzug in den Core erhält.

Möglich wäre eine Seite:

Vertippt?
Dann gebe die Daten nochmals ein -> Links zum Formular

Oder funktioniert's nicht -> mail an den Webmaster
Logged
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #6 on: January 22, 2007, 01:28:41 PM »

@YeShakka

Ideen hast du ja genug, nur wer soll sie umsetzen?

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #7 on: January 22, 2007, 02:07:16 PM »

Ich denke, es ist da generell noch Arbeitsbedarf, sowohl am Gästebuch wie auch im Form-Modul.

Eber egal wie die Verifizierung der eingegebenen Daten passiert, (per Javascript oder PHP), es sollte eine durchgängig konsistente Lösung sein und kein Mix von irgendwas, außerdem sollte darauf geachtet werden, daß nach einer Fehlermeldung die bereits eingegebenen Daten noch vorhanden sind und nicht nochmal gemacht werden müssen.

Die Überprüfung der Daten im Gästebuch ist doch z.Zt. mit Javascript realisiert, geht das denn nicht auch für die Captcha-Funktion? Könnte man nicht evtl. diese Art der Überprüfung auch im Form-Modul einbauen ?
Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
daveland
Apprentice Baker
***
Offline Offline

Posts: 75



« Reply #8 on: January 22, 2007, 02:29:54 PM »

Quote
....außerdem sollte darauf geachtet werden, daß nach einer Fehlermeldung die bereits eingegebenen Daten noch vorhanden sind und nicht nochmal gemacht werden müssen.

Das wäre natürlich die optimalste Lösung!




Logged
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #9 on: January 22, 2007, 03:12:11 PM »

Hallo,

Quote
außerdem sollte darauf geachtet werden, daß nach einer Fehlermeldung die bereits eingegebenen Daten noch vorhanden sind und nicht nochmal gemacht werden müssen

im erweiterten Form modul auf der Addons Seite bereits verwirklicht.  grin  grin

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #10 on: January 22, 2007, 03:36:11 PM »

Quote
außerdem sollte darauf geachtet werden, daß nach einer Fehlermeldung die bereits eingegebenen Daten noch vorhanden sind und nicht nochmal gemacht werden müssen

im erweiterten Form modul auf der Addons Seite bereits verwirklicht.  grin  grin

Stimmt, allerdings gilt das nicht für die Captcha-Funktion, d.h. wenn die Captcha-Prüfziffer falsch eingegeben wurde, werden auch die Formulareingaben gelöscht.
Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #11 on: January 22, 2007, 09:09:08 PM »

Hallo,

also die Zeile die die Fehlermeldung ausgibt lautet:

Code:
$captcha_error = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];

und findet sich in allen Modulen, die Captcha benutzen. Im Form modul in der "view.php", im Gästebuch in der "gstbk_save.php". Anstatt der Ausgabe einer einfachen Meldung, die ihren Text nur aus der Sprachdatei bezieht, kann hier natürlich auch was anderes eingegeben werden. Man könnte zum Beispiel in jedem Modul eine captcha_error.php Seite erstellen, in der man dann Meldungen und Aktionen ausführen lassen kann. Also z.B. Hinweistext und zurück button. Allerdings sollte beim back button immer ein neuer captcha erzeugt werden, weil sonst kann man den code auch gleich weglassen.

Überhaupt stellt captcha keinen Schutz vor Spam mehr dar. Fast alla captchas können von Spammern inzwischen umgangen werden.

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #12 on: January 23, 2007, 03:36:22 PM »

Um die Formulareinträge zu erhalten, hab ich folgenden Zeilen hinzugefügt, damit geht es:

@Matthias, bitte mal checken, ob das der richtige Ansatz sein könnte, dann würde ich mich auch noch um das Formmodul kümmern, bzw. das Ganze noch besser austesten.

In der gstbk_save.php nach Zeile 63 (  if(isset($captcha_error)) {  ) folgendes einfügen:
Code:
$_SESSION['gb']['message'] = strip_tags($_POST['message']);
$_SESSION['gb']['email'] = strip_tags($_POST['email']);
$_SESSION['gb']['homepage'] = strip_tags($_POST['homepage']);
$_SESSION['gb']['name'] = strip_tags($_POST['u_name']);

nach Zeile 71 in der gstbk_save.php  (  } else {  )
Code:
if(isset($_SESSION['gb'])) { unset($_SESSION['gb']); }

in der gstbk_page die Zeilen 106-117 mit folgenden ersetzen:
Code:
<tr>
<td><font face="Verdana" size="-1"><?php echo $TEXT['NAME']; ?>*:</font></td>
<td><input type="text" name="u_name" value="<?php echo ($_SESSION['gb']['name'])?$_SESSION['gb']['name']:'' ?>" style="width: 300px" /></td>
</tr>
<tr>
<td><font face="Verdana" size="-1"><?php echo $TEXT['EMAIL'].$star_email?>:</font></td>
<td><input type="text" name="email" value="<?php echo ($_SESSION['gb']['email'])?$_SESSION['gb']['email']:'' ?>" style="width: 300px"/></td>
</tr>
<tr>
<td><font face="Verdana" size="-1"><?php echo $TEXT['WEBSITE']; ?>:</font></td>
<td><input type="text" name="homepage" value="<?php echo ($_SESSION['gb']['homepage'])?$_SESSION['gb']['homepage']:'http://www.' ?>" style="width: 400px" /></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="-1"><?php echo $TEXT['MESSAGE']; ?>*:</font></td>
<td><textarea id="message" name="message" style="width: 500px; height: 200px"><?php echo ($_SESSION['gb']['message'])?$_SESSION['gb']['message']:'' ?></textarea></td>
</tr>

Möglich wäre natürlich auch, anstatt über Sessions das Ganze mit Get-Parametern zu übergeben, wobei ich Sessions für sicherer halte.
« Last Edit: January 23, 2007, 03:47:07 PM by Funky_MF » Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
ruebenwurzel
Moderator
Dangerous Baker
*****
Offline Offline

Posts: 6586


Keep on Rockin


WWW Email
« Reply #13 on: January 23, 2007, 03:45:58 PM »

Hallo,

funzt das denn?

Matthias
Logged

You search for help, please look here: Help-Page
You search for Modules, Templates or Languages, please look here: Addons-Page
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #14 on: January 23, 2007, 04:44:25 PM »

Und ob das funzt.... wink

Aber ehrlich gesagt ist das nur die schnelle Lösung des Problems, besser wäre es natürlich, wenn die Captcha-Validierung auch über Javascript realisiert würde. Dann wäre es für den Besucher einfacher und auch schneller, nur gibt es dann wieder das Problem, daß die Captcha-Ziffer nach der Fehlermeldung neu erzeugt werden sollte...

Mal sehen, vielleicht fällt mir noch ne andere Lösung ein.
Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #15 on: January 24, 2007, 08:22:22 AM »

Hier eine Lösung mit Darstellung als Javascript-Fehlermeldung ohne Weiterleitung auf eine separate Fehlerseite:

Zusätzlich zu den o.g. Änderungen müssen noch folgenden Zeilen hinzugefügt werden:
in der gstbk_page nach Zeile 56 folgendes einfügen:
Code:
<?php if ($_GET['captcha']=="true"){ ?>
<script language="JavaScript"  type="text/javascript">
  alert( "<?php echo $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'?>" );
</script>
<?php ?>



in der gstbk_save nach folgenden Zeilen suchen, diese löschen bzw. auskommentieren
Code:
echo '<p><strong>'.$captcha_error.'<strong></p>';
echo '<p><a href="javascript: history.go(-1);">'.$TEXT['BACK'].'</a></p>';

mit folgenden Zeilen ersetzen:
Code:
header('Location: '.WB_URL.'/modules/guestbook/gstbk_add.php?sid='.$_GET['sid'].'&pid='.$_GET['pid'].'&captcha=true');

Im Anhang die kompletten Dateien, allerdings verwende ich das Gästebuch mit erweiterter Smiley-Funktion, zu sehen unter www.handball-wertheim.de

//EDIT: aktuelle Files weiter unten
« Last Edit: January 24, 2007, 09:55:07 AM by Funky_MF » Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
kweitzel
Forum Team
A Baker's Baker
*****
Offline Offline

Posts: 4528


WWW
« Reply #16 on: January 24, 2007, 08:46:41 AM »

Nette Idee ... auch von der Umsetzung ... allerdings können MS Textausgabe Boxen die HTML Umlaute nicht verstehen ...

Gruß

Klaus
Logged

Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #17 on: January 24, 2007, 09:20:40 AM »

Quote
allerdings können MS Textausgabe Boxen die HTML Umlaute nicht verstehen ...

Stimmt, ist mir auch schon aufgefallen, das gleiche Problem exisitert beim erweiterten Form-Modul aber auch, liegt an der Javascript-Alert Meldung, da wird kein HTML-Code verarbeitet.

Hab noch einen Bug gefunden, der "Zurücksetzen"-Button funzt jetzt nich mehr, bin aber schon dran. Geänderte Dateien in Kürze.
Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
Funky_MF
Master Baker
*****
Offline Offline

Posts: 262



WWW
« Reply #18 on: January 24, 2007, 09:49:58 AM »

Hier die geänderte Version, Reset-Button funktioniert, allerdings ist das Layout noch überarbeitungsbedürftig...
« Last Edit: January 24, 2007, 09:52:45 AM by Funky_MF » Logged

Noch Fragen?

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
Pages: [1] Go Up Print 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!