Gutscheinmodul, gab's das schon mal?
Gutscheinmodul, gab's das schon mal?
Ich suche für eine neue Projektwebsite eine Lösung für den Ausdruck eines Gutscheins (generierte Nr., Datum, Name, Vorname) mit Aufdruck auf eine *.jpg. Hat jemand dafür schon mal eine Lösung vorgestellt? Unter "Gutschein" oder "Coupon" konnte ich leider keinen Artikel im Board finden
Lieber Kies in der Tasche, als Sand im Getriebe.
Re: Gutscheinmodul, gab's das schon mal?
Hallo Anna,
Grüße Heiko...
Soweit ich weiß, nein ... sorry.AnnaK wrote:Hat jemand dafür schon mal eine Lösung vorgestellt?
Aber das klingt auf den ersten Blick (was für ein deutsch... ) nicht sooo schwierig, die Frage ist eher, wo/wie/womit wird denn bei Einlösung des Gutscheins seine Richtigkeit/Echtheit validiert?AnnaK wrote:Ich suche für eine neue Projektwebsite eine Lösung für den Ausdruck eines Gutscheins (generierte Nr., Datum, Name, Vorname) mit Aufdruck auf eine *.jpg.
Grüße Heiko...
Re: Gutscheinmodul, gab's das schon mal?
Eigentlich soll da kein riesen Aufwand getrieben werden, ein JPG-Bild als Gutschein soll abgelegt und mit PHP eine generierte Nummer aus Aapha~ und num. Zeichen , Datum, Name, Vorname drauf geschrieben werden. Die generierten Daten könnten in einer Textdatei abgespeichert werden, so dass keine doppelten Nummern vergeben werden. Und der User kann sich diesen Gutschein ausdrucken .... fertig. Klingt einfach, aber von PHP habe ich keinen blassen Schimmer, obwohl ich den Code irgendwie verstehe ... bis zu einem gewissen Grad
Es geht hierbei nur um einen Rabattgutschein, der eher nebensächlich ist, weil man den auch auf der Straße verteilen kann. Wichtiger dabei ist, das der Besucher sich damit registriert, bestenfalls noch eine Frage beantwortet, wie zum Beispeil: "Wie heißt der Inhaber der Homepage?" und wenn diese frage richtig beantwortet ist, kann er sich den Gutschein ausdrucken. Ganz einfaches Marketing.
Es geht hierbei nur um einen Rabattgutschein, der eher nebensächlich ist, weil man den auch auf der Straße verteilen kann. Wichtiger dabei ist, das der Besucher sich damit registriert, bestenfalls noch eine Frage beantwortet, wie zum Beispeil: "Wie heißt der Inhaber der Homepage?" und wenn diese frage richtig beantwortet ist, kann er sich den Gutschein ausdrucken. Ganz einfaches Marketing.
Lieber Kies in der Tasche, als Sand im Getriebe.
Re: Gutscheinmodul, gab's das schon mal?
Na, das klingt doch aber nach einer guten, nicht zu schwierigen Programmierübung.
Ich (bin ja auch nicht der große Programmierheld) würde das (im ersten Versuch) so angehen:
- Eingabemaske erstellen (evtl. mit besagter Frage)
- Prüfung ob Frage richtig beantwortet
- Seriennr. erstellen -> Prüfung ob schon vorhanden
- Seriennr. + eingegebene Daten speichern (DB oder Textfile)
- ein transparentes Bild mit den eingegebenen Daten (Name, Vorname) und der Seriennummer, usw. erstellen
- dieses Bild mittels imagecopy() in das Bild (Background des Gutscheins) kopieren
- Gutschein ausgeben
Heiko...
Ich (bin ja auch nicht der große Programmierheld) würde das (im ersten Versuch) so angehen:
- Eingabemaske erstellen (evtl. mit besagter Frage)
- Prüfung ob Frage richtig beantwortet
- Seriennr. erstellen -> Prüfung ob schon vorhanden
- Seriennr. + eingegebene Daten speichern (DB oder Textfile)
- ein transparentes Bild mit den eingegebenen Daten (Name, Vorname) und der Seriennummer, usw. erstellen
- dieses Bild mittels imagecopy() in das Bild (Background des Gutscheins) kopieren
- Gutschein ausgeben
Heiko...
Re: Gutscheinmodul, gab's das schon mal?
Hallo AnnaK,
auch mich hat dieses Thema gewurmt, weil ich öfters auch daraufhin angesprochen wurde. Leider konnte Dir keiner so richtig weiterhelfen ,
aber .... ich kann es erst einmal, vielleicht etwas linkisch, das ist mir aber egal, denn ich bin kein PHP-JavaScriptProgrammierer. und es funktioniert.
Als erstes erstellst Du Dir eine Blanco-Gutschein/ Rabattschein als Scan und speicherst diesen als "gutschein.png". Ich habe diesen in das root-verzeichnis abgelegt.
Dort hinein lege auch das PHP-script gutschen.php und graph.class.php
Im Backend erzeugt Du Dir eine Struktur für diesen Gutschein, darin ein Formular, das ein paar Angaben zur Personalisierung braucht, onsubmit-Javascript kannst Du bei Google finden, wie man da die Inhalte per Javascript abtestet.
------------------------------------------------------------
-----Gutschein
---------Text mit Bild
---------WYSIWYING HTML (Formular)
-----GutscheinDruck (verstekt)
---------WYSIWYING HTML/ Text mit Bild mit nachfolgendem Inhalt (beachte das PHP-Script. Dort wird das neue Rabatt.png erzeugt und in /picture gespeichert)
-------------------------------------------------------------
Einziges Manko noch, mit dem Klick auf das Bild Gutschein erhälst Du zwar eine Druckmöglichkeit, aber die URL wird ganz oben noch angezeigt, wie bekommt man diese nun noch weg
-- Formularscript --
Die graph.class hat mein Sohn schon mal woanders für verwendet und für diesen Zweck nur umgerubelt:
Die ganze Sache ist vielleicht etwas anfängermäßig, aber funktioniert und ist konform. Verbesserungen sind erwünscht!
auch mich hat dieses Thema gewurmt, weil ich öfters auch daraufhin angesprochen wurde. Leider konnte Dir keiner so richtig weiterhelfen ,
aber .... ich kann es erst einmal, vielleicht etwas linkisch, das ist mir aber egal, denn ich bin kein PHP-JavaScriptProgrammierer. und es funktioniert.
Als erstes erstellst Du Dir eine Blanco-Gutschein/ Rabattschein als Scan und speicherst diesen als "gutschein.png". Ich habe diesen in das root-verzeichnis abgelegt.
Dort hinein lege auch das PHP-script gutschen.php und graph.class.php
Im Backend erzeugt Du Dir eine Struktur für diesen Gutschein, darin ein Formular, das ein paar Angaben zur Personalisierung braucht, onsubmit-Javascript kannst Du bei Google finden, wie man da die Inhalte per Javascript abtestet.
------------------------------------------------------------
-----Gutschein
---------Text mit Bild
---------WYSIWYING HTML (Formular)
-----GutscheinDruck (verstekt)
---------WYSIWYING HTML/ Text mit Bild mit nachfolgendem Inhalt (beachte das PHP-Script. Dort wird das neue Rabatt.png erzeugt und in /picture gespeichert)
-------------------------------------------------------------
Code: Select all
<p>[PRINT]<!--NO_PRINT_END//-->{IMAGE:Rabatt.png} <!--NO_PRINT_START//-->[/PRINT]</p>
-- Formularscript --
Code: Select all
<form onsubmit="return chkFormular()" action="gutschein.php" method="post">
<table width="350" cellspacing="0" cellpadding="2" border="0" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="50%">
<p style="text-align: center;">Wie viele Mitarbeiter <br />
(incl. Azubis ...)<br />
sind bei uns <br />
beschäftigt ?</p>
</td>
<td width="50%">
<p align="center"><input type="text" size="4" name="anzahl" /></p>
</td>
</tr>
<tr>
<td width="100%" colspan="2"><hr size="1" />
</td>
</tr>
<tr>
<td width="50%">Vorname:</td>
<td width="50%"><input type="text" id="Vname" size="30" name="Vorname" /></td>
</tr>
<tr>
<td width="50%">Familienname</td>
<td width="50%"><input type="text" id="Nname" size="30" name="Nachname" /></td>
</tr>
<tr>
<td width="100%" colspan="2"><hr size="1" />
</td>
</tr>
<tr>
<td width="50%">
<p align="right"><input type="submit" name="B1" value="Abschicken" /></p>
</td>
<td width="50%"><input type="reset" name="B2" value="Zurücksetzen" /></td>
</tr>
</tbody>
</table>
</form>
Code: Select all
<?
// Zuletzt editiert: 10:48 04.11.2008 (Christian Otto)
class simpleGraph
{
var $image;
var $im;
var $target;
function create($imgWidth, $imgHeight){
$this->im = @imagecreatetruecolor ($imgWidth, $imgHeight)
or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
$alpha = imagecolorallocate ($this->im, 255, 255, 255);
imagecolortransparent ($this->im, $alpha);
imagefilledrectangle ($this->im, 0, 0, $imgWidth, $imgHeight, $alpha);//$background_color
$text_color = ImageColorAllocate ($this->im,255, 255, 255);
}
function headline($text)
{
$tag = date ("d");
$monat = date ("M");
$jahr = date ("y");
$stunde = date ("H");
$minute = date ("i");
$sekunde = date ("s");
//Zufallsziffer zwischen 0 und 1000000
$rndnr = rand (0,1000000);
//Textfarbe
$text_color = ImageColorAllocate ($this->im, 0, 0, 0);
$datum = $tag.".".$monat."'".$jahr." ".$stunde.":".$minute;
ImageString ($this->im, 15, 200, 250, $text, $text_color);
ImageString ($this->im, 15, 200, 310, $datum, $text_color);
ImageString ($this->im, 15, 200, 340, $rndnr, $text_color);
}
function showGraph($target){
$this->image = ImagePNG ($this->im, $target);
return $this->image;
}
function mergin ($back, $plot, $file){
//Groesse des Hintergrunds ermitteln und neue 24-Bit Datei erstellen
$size = getimagesize ($back);
$im = imagecreatetruecolor ($size[0], $size[1]);
imagealphablending( $im , TRUE );
imagesavealpha ( $im , FALSE );
$alpha = imagecolorallocate ($im, 255, 255, 255);
imageColorTransparent($im, $alpha);
imagefilledrectangle ($im, 0, 0, $size[0], $size[1], $alpha);
//Hintergrund laden und auf 24-Bit Datei überspielen
$ground = imagecreatefrompng ($back);
$alpha = imagecolorallocate ($ground, 255, 255, 255);
imageColorTransparent($ground, $alpha);
imagecopy ($im, $ground, 0, 0, 0, 0, $size[0], $size[1]);
//Graph laden und auf 24-Bit Datei überspielen
$graph = imagecreatefrompng ( $plot );
$alpha = imagecolorallocate ($graph, 255, 255, 255);
imageColorTransparent($graph, $alpha);
imagecopymerge ($im, $graph, 0, 0, 0, 0, $size[0], $size[1], 100);
imagepng ($im,$file);
}
}
?>
Code: Select all
<?
// ***********************************************************************
// Anpassung des Scriptes ist nur in der Zeile 26 notwendig
// created and copyrigh by Burkhard und Christian Otto/ MOTAG-ONLINE.com
//
// letze Aenderung: 13.11.2008
//--------------------------------------------------------------------------
require ("graph.class.php");
function bild($name, $adressat){
$simpleGraph2 = &new simpleGraph();
//Format des Bildes, das eingelesen werden soll
$simpleGraph2->create("427", "599");
//Name der Person, auf die der Gutchein ausgeschrieben ist
$simpleGraph2->headline($adressat);
$simpleGraph2->showGraph($name);
//Name des Hintergrundes, Name der Ausgabedatei
$simpleGraph2->mergin ("gutschein.png",$name,$name);
}
$var= $_POST[Vorname]." ".$_POST[Nachname];
bild("picture/Rabatt.png",$var);
// ----------------Weiterleitung nach erfolgreicher Generierung auf den Ausdruck "index.php?aid=xyz" -------------
header("Location: http://" . $_SERVER["HTTP_HOST"] . "/index.php?aid=xyz");
exit();
?>
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
Das ist ja mal was! Ha! Ein Gutscheindrucker - juhuu!
Vielleicht könnte da in dem phpscript noch was eingefügt werden, damit das Ding nur über phpwcms bedienbar wird?
Vielleicht könnte da in dem phpscript noch was eingefügt werden, damit das Ding nur über phpwcms bedienbar wird?
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Re: Gutscheinmodul, gab's das schon mal?
@Claus: Vielleicht legt jetzt da noch jemand hand an.
Ich habe da selber auch noch ein kleines Problem gefunden!
Bei mir funktioniert innerhalb des phpwcms die Prüfung mit onsubmit nicht. Ich bin ratlos. Es schein das Script überhaupt gar nicht vorhanden zu sein, obwohl ich dieses im Kopf der Vorlage mit <script src="gutschein.js" type="text/javascript"></script> eingebunden habe und dieses auch im rootVerzeichnis vorhanden ist. Es wird einfach ignoriert, keine Fehlermeldung kommt zurück, wenn ich es bewußt provoziere. Selbst wenn man bewußt einen Schrpitfehler einbaut, meldet sich zwar der Firebug und zeigt mir das Script, es wird aber nicht benutzt, wie es scheint!
Ich habe da selber auch noch ein kleines Problem gefunden!
Bei mir funktioniert innerhalb des phpwcms die Prüfung mit onsubmit nicht. Ich bin ratlos. Es schein das Script überhaupt gar nicht vorhanden zu sein, obwohl ich dieses im Kopf der Vorlage mit <script src="gutschein.js" type="text/javascript"></script> eingebunden habe und dieses auch im rootVerzeichnis vorhanden ist. Es wird einfach ignoriert, keine Fehlermeldung kommt zurück, wenn ich es bewußt provoziere. Selbst wenn man bewußt einen Schrpitfehler einbaut, meldet sich zwar der Firebug und zeigt mir das Script, es wird aber nicht benutzt, wie es scheint!
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
Hab's gefunden, anstat forms[0] habe ich form[0] geschrieben!
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
kukki, sag doch noch mal, wo Du das Javascript her hast, bitte!
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Re: Gutscheinmodul, gab's das schon mal?
Wie - jetzt, kann man doch googeln mit function chkFormular()
Das war die Ausgangsbasis bei mir, jetzt probiere ich schon 'ne Ewigkeit rum, wie man genau den Inhalt von document.forms[0].anzahl mit eine ganzen Zahl vergleichen kann. Schlimm, wenn man nur durch lesen und probieren weiterkommt.
Das war die Ausgangsbasis bei mir, jetzt probiere ich schon 'ne Ewigkeit rum, wie man genau den Inhalt von document.forms[0].anzahl mit eine ganzen Zahl vergleichen kann. Schlimm, wenn man nur durch lesen und probieren weiterkommt.
Code: Select all
function chkFormular() {
if (document.forms[0].anzahl.value == "") {
alert("Bitte eine Zahl eingeben!");
document.forms[0].anzahl.focus();
return false;
}
var chkZ = 1;
for (i = 0; i < document.forms[0].anzahl.value.length; ++i)
if (document.forms[0].anzahl.value.charAt(i) < "0" ||
document.forms[0].anzahl.value.charAt(i) > "9")
chkZ = -1;
if (chkZ == -1) {
alert("Wert ANZAHL ist keine Zahl!");
document.forms[0].anzahl.focus();
return false;
}
if (document.forms[0].Vorname.value == "") {
alert("Bitte Ihren Vornamen eingeben!");
document.forms[0].Vorname.focus();
return false;
}
if (document.forms[0].Nachname.value == "") {
alert("Bitte Ihren Nachnamen eingeben!");
document.forms[0].Nachname.focus();
return false;
}
}
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
Nach einigen Probieren mit JavaScript habe ich den Dreh erst einmal raus gehabt. Aber ein Problem ist aufgetaucht, dass ich so nicht recht begreife
Wenn ich mir eine externe gutschein.html zusammenschiebe und dies eim rootVerzeichnis ablege und starte, funktioniert alles einwandfrei, incl. aller Fehlermeldungen, die man provozieren kann Genauso wie oben beschrieben!
Erst bei der Eingabe erfolgt die Ausführung der in action angegebenen gutschein.php und es kommt zum Ausdruck des Gutscheines.
Innerhalb des phpWCMS funktioniert das alles anders oder nicht! Die (provozierten) Fehlerfenster bei der onsubmit-Prüfung der input-Felder erscheinen nicht. PopUp-Fenster(alert) sind auf meinem Browser erlaubt!
Dafür wird aber der Gutscheindruck in jedem Fall ausgeführt, egal ob man nur etwas, falsch oder gar nicht ausfüllt und nur auf ABSCHICKEN klickt.
Warum läuft es hier anders ab?
Wenn ich mir eine externe gutschein.html zusammenschiebe und dies eim rootVerzeichnis ablege und starte, funktioniert alles einwandfrei, incl. aller Fehlermeldungen, die man provozieren kann Genauso wie oben beschrieben!
Erst bei der Eingabe erfolgt die Ausführung der in action angegebenen gutschein.php und es kommt zum Ausdruck des Gutscheines.
Innerhalb des phpWCMS funktioniert das alles anders oder nicht! Die (provozierten) Fehlerfenster bei der onsubmit-Prüfung der input-Felder erscheinen nicht. PopUp-Fenster(alert) sind auf meinem Browser erlaubt!
Dafür wird aber der Gutscheindruck in jedem Fall ausgeführt, egal ob man nur etwas, falsch oder gar nicht ausfüllt und nur auf ABSCHICKEN klickt.
Warum läuft es hier anders ab?
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
Das geht schon du musst das alles nur über $content['all'] an der Rendering Maschine von phpwcms übergeben....
die action muss natürlich zurück ins prgramm springen also index.php?aid=..&gutschein ... und darauf dann aufbauen
Code: Select all
form onsubmit="return chkFormular()" action="gutschein.php" method="post">
Re: Gutscheinmodul, gab's das schon mal?
Wie soll ich das verstehen, habe ich etwas vergessen/ übersehen?
$content['all']
$content['all']
Solch eine Zeile hatte ich mit location: ... eingebaut! Aber sollte dies genau die Stelle sein, wo das Formular steht oder die Stelle wie es jetzt eigentlich ist, wo der Druck freigegeben wird?Code: Select all
// ----------------Weiterleitung nach erfolgreicher Generierung auf den Ausdruck "index.php?aid=xyz" ------------- header("Location: http://" . $_SERVER["HTTP_HOST"] . "/index.php?aid=xyz"); exit(); ?>
Last edited by kukki on Fri 14. Nov 2008, 13:15, edited 1 time in total.
Lieber arm dran als Arm ab!
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
Re: Gutscheinmodul, gab's das schon mal?
ich machs gerade .. gleich gebacken
Re: Gutscheinmodul, gab's das schon mal?
Link gelöscht.. kommt wieder
made in Eile
unter den Bildern es funzt
made in Eile
unter den Bildern es funzt
Last edited by juergen on Fri 14. Nov 2008, 18:16, edited 1 time in total.