Fehler mit Captcha
Hallo,
folgender Fehler tritt auf: Ich bekomme bei meinem Captcha keinen Text angezeigt.
Anzusehen auf test.pati-schmidt.at
Im Anschluss findet Ihr einmal die kontakt.html, die contact.php und die captcha.php
Vielen Dank für Eure Hilfe.
kontakt.html:
CONTACT.PHP:
CAPTCHA.PHP:
folgender Fehler tritt auf: Ich bekomme bei meinem Captcha keinen Text angezeigt.
Anzusehen auf test.pati-schmidt.at
Im Anschluss findet Ihr einmal die kontakt.html, die contact.php und die captcha.php
Vielen Dank für Eure Hilfe.
kontakt.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="robots" content="index,follow">
<meta name="keywords"
content="patrick ,Patrick, Schmidt, schmidt, website ,Website, Patrick Schmidt, patrick schmidt, Schmidt Patrick, schmidt patrick">
<meta name="description"
content="patrick, Patrick, Schmidt ,schmidt, website, Website, Patrick Schmidt, patrick schmidt, Schmidt Patrick, schmidt patrick" >
<title>Homepage Patrick Schmidt</title>
<!-- Der nachfolgende einzeilige Copyright-Vermerk (c) ist nicht zu löschen.-->
<!-- (c)Copyright by S.I.S.Papenburg / www.on-mouseover.de/templates/ -->
<!--Ein Entfernen dieses Copyright/Urheberrecht-Vermerks kann rechtliche Schritte nach sich ziehen -->
<!-- Der nachfolgende Hinweis-Vermerk darf gelöscht werden-->
<!-- Hinweis:
Das Anbieten dieser Vorlage auf einer Webseite, CD, DVD oder anderen Bild/Tonträgern ist untersagt.
Nutzen dürfen Sie diese Vorlage aber auf einer Webseite wie folgt:
Die Vorlage kann privat (kostenlos) und kommerziell/gewerblich (gegen Bezahlung) für Sie selbst oder eine dritte Person (andere Person oder Firma) genutzt werden.
Je nach dem Inhalt, welcher eingefügt wird, kann auch für Privatpersonen eine kommerzielle Nutzung vorliegen.
Lesen Sie auf der Webseite www.on-mouseover.de/templates/
bitte die Nutzungsbedingungen nach.
-->
<link rel="stylesheet" href="format.css" type="text/css">
<link rel="stylesheet" href="menue.css" type="text/css">
<link rel="stylesheet" href="schatten.css" type="text/css">
</head>
<!--browser-weiche für den alten browser IE vers. 6 - die anderen IE-vers. erhalten transparenz per png-grafiken - ps: if lt IE 7 bedeutet LOWER THAN IE7 also KLEINER ALS IE7 -->
<!--[if lt IE 7]>
<link href="ie6.css" rel="stylesheet" type="text/css"/>
<![endif]-->
<body >
<div align="center">
<table align="center" id="breite" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td align="center" >
<!--schatten um die seite oben -->
<table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" id="s1" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s2"><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s3" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
<tr>
<td valign="top" id="s4" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td width="100%">
<!--ende schatten um die seite oben -->
<table align="center" cellspacing="0" cellpadding="0" border="0" id="main_top" >
<tr>
<td id="top1" >
<span></span>
</td>
</tr>
</table>
<!--ende oben-->
<table align="center" id="main_inhalt" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td valign="top" align="center" >
<table align="center" id="inhalt" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="navbox">
<table align="center" id="menu1" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td >
<a href="index.html" >Home</a></td>
</tr>
<tr>
<td >
<a href="bilder.html" >Bilder</a></td>
</tr>
<tr>
<td >
<a href="text.html" >Text Tutorials</a></td>
</tr>
<tr>
<td >
<a href="video.html" >Video Tutorials</a></td>
</tr>
<tr>
<td >
<a href="kontakt.html" >Kontakt</a></td>
</tr>
</table>
<!-- =========== hier spaltenbreite ändern für linke spalte - wenn sie hier eine änderung vornehmen sollten sie auch noch das menü anpassen in der datei menue.css ========== -->
<div class="breite_hauptspalte_links"> </div>
<!-- ========= ende spaltenbreite linke spalte ============-->
<br>
<br>
<br>
</td>
<td id="inbox" >
<div style="overflow:auto; height:500px; width:700px">
<h2>Kontaktformular</h2>
<form name="form1" method="post" action="contact.php">
<table width="500" border="0">
<tr>
<td align="right"><label for="name">Name:</label></td>
<td><input name="name" type="text" id="name" size="30"></td>
</tr>
<tr>
<td align="right"><label for="email">eMail:</label></td>
<td><input name="email" type="text" id="email" size="30" maxlength="90"></td>
</tr>
<tr>
<td align="right"><label for="land">Ihr Land:</label></td>
<td><select name="land" id="land">
<option value="auswählen">Bitte auswählen!</option>
<option value="oesterreich">Österreich</option>
<option value="deutschland">Deutschland</option>
<option value="schweiz">Schweiz</option>
</select></td>
</tr>
<tr>
<td align="right"><label for="nachricht">Ihre Nachricht:</label></td>
<td><textarea name="nachricht" id="nachricht" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td></td>
<td><img src="captcha/captcha.php" border="0" title="sicherheitscode" />
</td>
</tr>
<tr>
<td><label for="captcha">Sicherheitscode:</label></td>
<td><input type="text" name="sicherheitscode" size="10" maxlength="5" /></td>
</tr>
<tr>
<td align="right"><input type="reset" name="reset" id="reset" value="Reset"></td>
<td><input type="submit" name="senden" id="senden" value="Senden"></td>
</tr>
</table>
</form>
<p> </p>
<p> </p>
<p><br>
<br>
<br>
<br>
</p>
<h2><!-- ende inhalt--></h2>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- fuss-->
<table id="main_fuss" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td id="fuss">
</td>
</tr>
</table>
<!-- ende fuss-->
</td>
<!-- schatten um die seite mitte und unten -->
<td valign="top" id="s6" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
<tr>
<td id="s7" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s8" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s9" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
</table>
<!--ende schatten um die seite mitte und unten -->
</td>
</tr>
</table></div>
</body>
</html>
CONTACT.PHP:
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
/* Betreff und Email Variable */
$emailBetreff = 'pati-schmidt.at';
$webmaster = 'patrick@pati-schmidt.at';
/* Emailformdaten */
$nameFeld = $_POST['name'];
$emailFeld = $_POST['email'];
$landFeld = $_POST['land'];
$nachrichtFeld = $_POST['nachricht'];
$body = <<<EOD
<br><hr><br>
Name: $nameFeld <br>
eMail: $emailFeld <br>
Land: $landFeld <br>
Nachricht: $nachrichtFeld <br>
EOD;
$headers = "From: $emailBetreff\r\n";
$headers .= "Content-type: text/html\r\n";
$headers = mail($webmaster, $emailBetreff, $body, $headers);
/* Antwort */
$dieAntwort = <<<EOD
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="robots" content="index,follow">
<meta name="keywords"
content="patrick ,Patrick, Schmidt, schmidt, website ,Website, Patrick Schmidt, patrick schmidt, Schmidt Patrick, schmidt patrick">
<meta name="description"
content="patrick, Patrick, Schmidt ,schmidt, website, Website, Patrick Schmidt, patrick schmidt, Schmidt Patrick, schmidt patrick" >
<title>Homepage Patrick Schmidt</title>
<!-- Der nachfolgende einzeilige Copyright-Vermerk (c) ist nicht zu löschen.-->
<!-- (c)Copyright by S.I.S.Papenburg / www.on-mouseover.de/templates/ -->
<!--Ein Entfernen dieses Copyright/Urheberrecht-Vermerks kann rechtliche Schritte nach sich ziehen -->
<!-- Der nachfolgende Hinweis-Vermerk darf gelöscht werden-->
<!-- Hinweis:
Das Anbieten dieser Vorlage auf einer Webseite, CD, DVD oder anderen Bild/Tonträgern ist untersagt.
Nutzen dürfen Sie diese Vorlage aber auf einer Webseite wie folgt:
Die Vorlage kann privat (kostenlos) und kommerziell/gewerblich (gegen Bezahlung) für Sie selbst oder eine dritte Person (andere Person oder Firma) genutzt werden.
Je nach dem Inhalt, welcher eingefügt wird, kann auch für Privatpersonen eine kommerzielle Nutzung vorliegen.
Lesen Sie auf der Webseite www.on-mouseover.de/templates/
bitte die Nutzungsbedingungen nach.
-->
<link rel="stylesheet" href="format.css" type="text/css">
<link rel="stylesheet" href="menue.css" type="text/css">
<link rel="stylesheet" href="schatten.css" type="text/css">
</head>
<!--browser-weiche für den alten browser IE vers. 6 - die anderen IE-vers. erhalten transparenz per png-grafiken - ps: if lt IE 7 bedeutet LOWER THAN IE7 also KLEINER ALS IE7 -->
<!--[if lt IE 7]>
<link href="ie6.css" rel="stylesheet" type="text/css"/>
<![endif]-->
<body >
<div align="center">
<table align="center" id="breite" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td align="center" >
<!--schatten um die seite oben -->
<table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" id="s1" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s2"><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s3" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
<tr>
<td valign="top" id="s4" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td width="100%">
<!--ende schatten um die seite oben -->
<table align="center" cellspacing="0" cellpadding="0" border="0" id="main_top" >
<tr>
<td id="top1" >
<span></span>
</td>
</tr>
</table>
<!--ende oben-->
<table align="center" id="main_inhalt" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td valign="top" align="center" >
<table align="center" id="inhalt" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="navbox">
<table align="center" id="menu1" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td >
<a href="index.html" >Home</a></td>
</tr>
<tr>
<td >
<a href="bilder.html" >Bilder</a></td>
</tr>
<tr>
<td >
<a href="text.html" >Text Tutorials</a></td>
</tr>
<tr>
<td >
<a href="video.html" >Video Tutorials</a></td>
</tr>
<tr>
<td >
<a href="kontakt.html" >Kontakt</a></td>
</tr>
</table>
<!-- =========== hier spaltenbreite ändern für linke spalte - wenn sie hier eine änderung vornehmen sollten sie auch noch das menü anpassen in der datei menue.css ========== -->
<div class="breite_hauptspalte_links"> </div>
<!-- ========= ende spaltenbreite linke spalte ============-->
<br>
<br>
<br>
</td>
<td id="inbox" >
<div style="overflow:auto; height:500px; width:700px">
<h2 align="center">Danke fÜr Ihre Nachricht.</h2>
<p> </p>
<p> </p>
<p><br>
<br>
<br>
<br>
</p>
<h2><!-- ende inhalt--></h2>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- fuss-->
<table id="main_fuss" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td id="fuss">
</td>
</tr>
</table>
<!-- ende fuss-->
</td>
<!-- schatten um die seite mitte und unten -->
<td valign="top" id="s6" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
<tr>
<td id="s7" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s8" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
<td id="s9" ><img src="images/pixelspace.gif" width="50" height="50" border="0" alt=""></td>
</tr>
</table>
<!--ende schatten um die seite mitte und unten -->
</td>
</tr>
</table></div>
</body>
</html>
EOD;
echo "$dieAntwort";
}
else{
exit("Der Sicherheitscode ist Falsch!!!");
}
?>
CAPTCHA.PHP:
<?php
session_start();
unset($_SESSION['captcha_spam']);
function randomString($len) {
function make_seed(){
list($usec , $sec) = explode (' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
//Der String $possible enthält alle Zeichen, die verwendet werden sollen
$possible="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz23456789";
$str="";
while(strlen($str)<$len) {
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); //Die Zahl bestimmt die Anzahlen der stellen.
$_SESSION['captcha_spam'] = $text;
header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.PNG'); //Backroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = $_SERVER['DOCUMENT_ROOT']."/captcha/XFILES.TTF"; // Schriftart
$ttfsize = 25; //Schriftgröße
$angle = rand(0,5);
$t_x = rand(5,30);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 191656
Url: https://administrator.de/contentid/191656
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
27 Kommentare
Neuester Kommentar
Hallo
"captcha.PNG" und "XFILES.TTF" liegen im selben Ordner, dennoch verwendest du __zwei__ unterschiedliche Methoden um sie aufzurufen !?
Die "captcha.php" liegt doch eine Verzeichnisebene höher als die beiden Dateien in dem Verzeichnis-Captcha, oder ?
Der Aufruf des Hintergrundbildes geschieht ohne Angabe des Verzeichnisses in dem es liegt, funktioniert aber - verwundert mich nur sollte die Verzeichnisstruktur stimmen...
Die Zeile in der der Header gesetzt wird (die kannst du übrigens über die Zeile mit "imagepnp()" verschieben) auskommentieren - dann sieht man evtl. Fehlermeldungen noch im Browser (über den restlichen Bildinformationen weil der Header ja erst später gesetzt wird ;) )
Evtl überflüssig weil ich auf die beiden Dateien über den Browser ja zugreifen konnte, aber stimmen auch die Leserechte der Schriftdatei ? (Auch wenn der Pfad stimmt, wenn PHP keine Leserechte hat, kann sie auch nicht gelesen werden)
~Arano
"captcha.PNG" und "XFILES.TTF" liegen im selben Ordner, dennoch verwendest du __zwei__ unterschiedliche Methoden um sie aufzurufen !?
Die "captcha.php" liegt doch eine Verzeichnisebene höher als die beiden Dateien in dem Verzeichnis-Captcha, oder ?
/
+- captcha.php
+- captcha (dir)
+- captcha.png
+- xfiles.ttf
Die Zeile in der der Header gesetzt wird (die kannst du übrigens über die Zeile mit "imagepnp()" verschieben) auskommentieren - dann sieht man evtl. Fehlermeldungen noch im Browser (über den restlichen Bildinformationen weil der Header ja erst später gesetzt wird ;) )
Evtl überflüssig weil ich auf die beiden Dateien über den Browser ja zugreifen konnte, aber stimmen auch die Leserechte der Schriftdatei ? (Auch wenn der Pfad stimmt, wenn PHP keine Leserechte hat, kann sie auch nicht gelesen werden)
~Arano
Hallo ComTech32
ach alles klein Problem, jeder war einmal Anfänger
Stimmt den die Verzeichnisstruktur so wie ich das momentan vermute ?
Mit den zwei "verschiedenen Methoden" meinte ich das verwenden von
Relative Pfade hingegen gehen ab der aktuellen "Position" (das aktuelle Arbeitsverzeichnis ist z.B. "/ordner1/ordner2)
Absolute Pfad sind in der Regel immer gültig, eben weil sie ja absolut/komplett sind.
Relative Pfade hingegen funktionieren i.d.R. nur von ihrem erstem Ursprungsort aus.
Wechseln wir das aktuelle Arbeitsverzeichnis von "ordner2" zu "ordner1" so wird der relative Pfad
Dies beiden Formen verwendest du in deinem Script:
Letzteres funktioniert wie gesagt immer, sofern er korrekt ist - hast du ihn die mal anzeigen lassen !?
Ersteres allerdings funktioniert nur wenn die Datei die ausgeführt wird (hier captcha.php) in dem gleichem Verzeichnis wie "captcha.PNG" liegt. (ausgehend von dem ausführendem Script!)
Allerdings vermute ich das die Datei eigentlich ein Verzeichnis höher/zurück liegt und so die "captche.PNG"-Datei eigentlich auch nicht gefunden werden dürfte. Aber genau das funktioniert zu meine verwunderung noch !?
~Arano
ach alles klein Problem, jeder war einmal Anfänger
Stimmt den die Verzeichnisstruktur so wie ich das momentan vermute ?
Mit den zwei "verschiedenen Methoden" meinte ich das verwenden von
- relativen Pfadangaben und
- absoluten Pfadangaben
/ordner1/ordner2/ordener3/datei.ext
oderC:\ordner1\ordner2\ordener3\datei.ext
Relative Pfade hingegen gehen ab der aktuellen "Position" (das aktuelle Arbeitsverzeichnis ist z.B. "/ordner1/ordner2)
./ordner3/datei.ext
Absolute Pfad sind in der Regel immer gültig, eben weil sie ja absolut/komplett sind.
Relative Pfade hingegen funktionieren i.d.R. nur von ihrem erstem Ursprungsort aus.
Wechseln wir das aktuelle Arbeitsverzeichnis von "ordner2" zu "ordner1" so wird der relative Pfad
./ordner3/datei.ext
ungültig weil es in dem "ordner1" KEIN Verzeichnis namens "ordner3" gibt !Dies beiden Formen verwendest du in deinem Script:
$img = ImageCreateFromPNG('captcha.PNG'); #Backroundimage
$ttf = $_SERVER['DOCUMENT_ROOT']."/captcha/XFILES.TTF"; # Schriftart
Letzteres funktioniert wie gesagt immer, sofern er korrekt ist - hast du ihn die mal anzeigen lassen !?
Ersteres allerdings funktioniert nur wenn die Datei die ausgeführt wird (hier captcha.php) in dem gleichem Verzeichnis wie "captcha.PNG" liegt. (ausgehend von dem ausführendem Script!)
Allerdings vermute ich das die Datei eigentlich ein Verzeichnis höher/zurück liegt und so die "captche.PNG"-Datei eigentlich auch nicht gefunden werden dürfte. Aber genau das funktioniert zu meine verwunderung noch !?
- Liegen die Dateien also wirklich so wie ich das Vermute ?
- Können die Dateien gelesen werden ?
- Ist die angaben in
$_SERVER['DOCUMENT_ROOT']
korrekt ? - Ist der Wert von
$ttf
auf korrekt ? - Hast du die Zeile mit der
header()
Angabe mal auskommentiert ?
~Arano
Moin moin.
"Hoffen, ist nicht wissen !"
Ich habe mir das Script jetzt mal kopiert und bei mir in das Verzeichnis "comtech32" gelegt. Die beiden Dateien "captcha.PNG" und "XFILEX.TTF" habe ich ebenfalls in das Verzeichnis gelegt.
Die beiden Zeilen $img und $ttf wie folgt abgeändert:
An beiden stellen wird nun ein absoluter Pfad verwendet. der an meine Verzeichnisstruktur angepasst ist - bei dir wäre es anstelle von "comtech32", "captcha".
Bei mir funktioniert es !
Verwende ich falsche Pfade, sowohl für das Hintergrundbild als auch für die Schriftartendatei, meldet mir meine Firefox das er die Grafik nicht anzeigen kann weil sie Fehler enthält. Die Fehlermeldungen dazu sehe ich aber erst wenn ich die "header()-Zeile" auskommentiere.
Das Script an sich ist also funktionsfähig !
Jetzt fällt mir nur noch ein, das dein PHP / das des Servers ohne FreeType Unterstützung kompiliert wurde.
kommentiere noch einmal die "header()-Zeile" aus und füge direkt darüber folgendes ein:
Zusätzlich oder in einem zweitem Schritt kannst du auch noch die Funktion phpinfo(); an dieser Stelle aufrufen lassen und schauen ob in der Sektion gd etwas zu FreeType steht. Am besten dann NUR DIESEN ABSCHNITT mal hier ins Forum kopieren Formatierungshilfen !!
Mit der Ausgabe von phpinfo() kannst du dann auch den Wert von der Superglobalen-Variable
__Anmerkung:__
Laut Video-Tutorial sollen alle drei Dateien in dem Verzeichnis "captcha" liegen
~Arano
"Hoffen, ist nicht wissen !"
Ich habe mir das Script jetzt mal kopiert und bei mir in das Verzeichnis "comtech32" gelegt. Die beiden Dateien "captcha.PNG" und "XFILEX.TTF" habe ich ebenfalls in das Verzeichnis gelegt.
/
+- comtech32
+- captcha.php
+- captcha.PNG
+- XFILES.TTF
Die beiden Zeilen $img und $ttf wie folgt abgeändert:
$img = ImageCreateFromPNG($_SERVER['DOCUMENT_ROOT'].'/comtech32/captcha.PNG'); # Backroundimage$ttf = $_SERVER['DOCUMENT_ROOT'].'/comtech32/XFILES.TTF'; # Schriftart
An beiden stellen wird nun ein absoluter Pfad verwendet. der an meine Verzeichnisstruktur angepasst ist - bei dir wäre es anstelle von "comtech32", "captcha".
Bei mir funktioniert es !
Verwende ich falsche Pfade, sowohl für das Hintergrundbild als auch für die Schriftartendatei, meldet mir meine Firefox das er die Grafik nicht anzeigen kann weil sie Fehler enthält. Die Fehlermeldungen dazu sehe ich aber erst wenn ich die "header()-Zeile" auskommentiere.
Das Script an sich ist also funktionsfähig !
Jetzt fällt mir nur noch ein, das dein PHP / das des Servers ohne FreeType Unterstützung kompiliert wurde.
kommentiere noch einmal die "header()-Zeile" aus und füge direkt darüber folgendes ein:
if( function_exists('imagettftext') )
echo "imagettftext() Funktion ist verfügbar.<br />\n";
else
echo "imagettftext() Funktion ist NICHT verfügbar.<br />\n";
#header('Content-type: image/png');
Zusätzlich oder in einem zweitem Schritt kannst du auch noch die Funktion phpinfo(); an dieser Stelle aufrufen lassen und schauen ob in der Sektion gd etwas zu FreeType steht. Am besten dann NUR DIESEN ABSCHNITT mal hier ins Forum kopieren Formatierungshilfen !!
Mit der Ausgabe von phpinfo() kannst du dann auch den Wert von der Superglobalen-Variable
$_SERVER['DOCUMENT_ROOT']
, weeeiiiiit unten zu finden, überprüfen.__Anmerkung:__
Laut Video-Tutorial sollen alle drei Dateien in dem Verzeichnis "captcha" liegen
~Arano
Meine Meinung ?
Ich soll über dich Urteilen obwohl ich dich nicht kenne ?
Mensch junge, DAS musst du für dich selber entscheiden !
Willst du hier weiter machen und mehr über PHP erfahren/verstehen/lernen und das Script evtl. doch noch zum laufen bekommen oder
dir einfach ein neues Captcha-Script suchen, einfügen, funktioniert !? (vorausgesetzt dein Server gibt das her !?)
Was willst DU, was bist DU bereit "zu geben" ?
~Arano
Ich soll über dich Urteilen obwohl ich dich nicht kenne ?
Mensch junge, DAS musst du für dich selber entscheiden !
Willst du hier weiter machen und mehr über PHP erfahren/verstehen/lernen und das Script evtl. doch noch zum laufen bekommen oder
dir einfach ein neues Captcha-Script suchen, einfügen, funktioniert !? (vorausgesetzt dein Server gibt das her !?)
Was willst DU, was bist DU bereit "zu geben" ?
~Arano
Dann füge mal in die erste Zeile, NACH "<?php" die beide folgenden Zeilen ein:
Das soll
DAs ist nämlich jetzt meine Vermutung mit der "weißen Seite".
Das es einen Fehler gibt, die Ausgabe deaktiviert und das Script auf Grund des Fehlers abgebrochen wird.
~Arano
ini_set("display_errors", 1);
ini_set("display_errors", E_ALL|E_STRICT);
- die Fehlerausgabe aktivieren und
- das Fehlerlevel sehr hoch setzen.
DAs ist nämlich jetzt meine Vermutung mit der "weißen Seite".
Das es einen Fehler gibt, die Ausgabe deaktiviert und das Script auf Grund des Fehlers abgebrochen wird.
~Arano
Hi
uii uii ui !
Der Browser soll Informationen formatiert anzeigen, also benutzt man HTML-Tags. (Üblicher weise ist es dann eine Website).
Fehlermeldungen hingegen sollen nicht "formatiert" angezeigt werden, sie sollen lediglich einen Fehler melden. Darum werden sie einfach ausgegeben.
Weil diese Fehlermeldungen nun kein HTML enthalten, kann der Browser sie nicht formatiert anzeigen... aber im übertragenem Quelltext sieht es ein wenig anders aus, schau mal rein.
Und dann kannst du ja die im Quelltext gefundenen Fehlermeldungen in deinem __vorherigem__ Beitrag zwischen
Die ersten drei Fehlermeldungen habe ich erwartet und bin ja schon fast ein bisschen froh das sie endlich mal angezeigt werden *g*
Verursacht werden sie durch eine Ausgabe vor dem Aufruf der Funktion:
Die vierte Meldung hingegen ist ein tatsächlicher Fehler.
Zur Sicherheit hat dich dein Hoster in ein Verzeichnis (/customers/0/7/2/pati-schmidt.at/httpd.www) "eingesperrt", so kannst du nicht auf fremde Daten zugreifen und Fremde nicht auf deine (open_basedir).
Wenn du genau hinsiehst, kannst du auch erkennen das du dich bei der Angabe des Pfades zu der Grafik die mit der Funktion geöffnet werden soll vertan hast: "...http.wwwcaptcha/cap..." hier fehlt ein "/" nach dem "www".
Alles andere sind dann nur Folgefehler aufgrund der "fehlenden Grafik" (resource).
Dummerweise sehe ich jetzt aber auch nichts das auf weitere Fehler hinweist...
Aber irgendetwas müssen wir noch versuchen:
und schick mir den Link per Nachricht muss ja nicht jeder sehen
~Arano
uii uii ui !
Der Browser soll Informationen formatiert anzeigen, also benutzt man HTML-Tags. (Üblicher weise ist es dann eine Website).
Fehlermeldungen hingegen sollen nicht "formatiert" angezeigt werden, sie sollen lediglich einen Fehler melden. Darum werden sie einfach ausgegeben.
Weil diese Fehlermeldungen nun kein HTML enthalten, kann der Browser sie nicht formatiert anzeigen... aber im übertragenem Quelltext sieht es ein wenig anders aus, schau mal rein.
Und dann kannst du ja die im Quelltext gefundenen Fehlermeldungen in deinem __vorherigem__ Beitrag zwischen
< code>
-Tags einfügen Oder kannst du die Suppe da oben angenehm lesen !?Die ersten drei Fehlermeldungen habe ich erwartet und bin ja schon fast ein bisschen froh das sie endlich mal angezeigt werden *g*
Verursacht werden sie durch eine Ausgabe vor dem Aufruf der Funktion:
session_start()
- die Ausgabe die ich dich extra habe einfügen lassen (echo '123';).Die vierte Meldung hingegen ist ein tatsächlicher Fehler.
Zur Sicherheit hat dich dein Hoster in ein Verzeichnis (/customers/0/7/2/pati-schmidt.at/httpd.www) "eingesperrt", so kannst du nicht auf fremde Daten zugreifen und Fremde nicht auf deine (open_basedir).
Wenn du genau hinsiehst, kannst du auch erkennen das du dich bei der Angabe des Pfades zu der Grafik die mit der Funktion geöffnet werden soll vertan hast: "...http.wwwcaptcha/cap..." hier fehlt ein "/" nach dem "www".
Alles andere sind dann nur Folgefehler aufgrund der "fehlenden Grafik" (resource).
Dummerweise sehe ich jetzt aber auch nichts das auf weitere Fehler hinweist...
Aber irgendetwas müssen wir noch versuchen:
- Den Pfad korrigieren
- Das "echo '123';" wieder entfernen und
- erstelle mal eine weitere Datei in dem Verzeichnis "captcha" (zufälliger Name) mit folgenden Inhalt:
<?php
phpinfo();
?>
~Arano
Und was ist mit 1. ?
Nach wie vor besteht dieser Fehler und seine Folgefehler !
In der phpinfo() konnte ich jetzt nichts entdecken, FreeType ist mit von der Party.
Lediglich das zusätzliche PHP-Modul: "XCache" ist mit hängen geblieben, Aber auch das ist nur eine Vermutung als Möglichkeit die es sein könnte...
Bin selber erstaunt das es so schwer sein kann !?
Aber da schauen wir erst später nach
~Arano
Nach wie vor besteht dieser Fehler und seine Folgefehler !
Warning: imagecreatefrompng(): open_basedir restriction in effect. File(/customers/0/7/2/pati-schmidt.at/httpd.w**__wwca__**ptcha/captcha.PNG) is not within the allowed path(s) ... on line 30
In der phpinfo() konnte ich jetzt nichts entdecken, FreeType ist mit von der Party.
Lediglich das zusätzliche PHP-Modul: "XCache" ist mit hängen geblieben, Aber auch das ist nur eine Vermutung als Möglichkeit die es sein könnte...
Bin selber erstaunt das es so schwer sein kann !?
Aber da schauen wir erst später nach
~Arano
Klar kann ich das, aber da gehört dann auch eine Rechnung zu !
Es dir Sagen ?
Das habe ich schon ! Zwei mal sogar !
So, was ist in der zweiten Zeile wohl falsch ?
In Zeile 30 rufst du die Funktion
Ich schau dann morgen wieder vorbei
~Arano
Es dir Sagen ?
Das habe ich schon ! Zwei mal sogar !
/customers/0/7/2/pati-schmidt.at/httpd.www
/customers/0/7/2/pati-schmidt.at/httpd.wwwcaptcha/captcha.PNG
In Zeile 30 rufst du die Funktion
imagecreatefrompng()
auch der du natürlich auch eine PNG-Grafik mitgeben musst die sie öffnen soll (wird ja auch in der Fehlermeldung bemängelt) und in diesem Pfad ist ein Fehler, nach dem "www" fehlt noch ein "/" um die beiden Verzeichnisnamen "httpd.www" und "captcha" von einander zu trennen. Füge da ein "/" ein und fertig ist. vorerstIch schau dann morgen wieder vorbei
~Arano
Tja, das war ein Fehler !
NUR die Zeile die ich nannte, alle folgenden musst du wiederherstellen !
Ein bisschen Eigeninitiative ist gerne gesehen, doch bevor du an dir unbekannten Funktionen herum "doktorst", schau doch erst einmal ins Handbuch: 1 (englisch bevorzugt weil vollstängiger)
Darüber hinaus ist das
~Arano
NUR die Zeile die ich nannte, alle folgenden musst du wiederherstellen !
Ein bisschen Eigeninitiative ist gerne gesehen, doch bevor du an dir unbekannten Funktionen herum "doktorst", schau doch erst einmal ins Handbuch: 1 (englisch bevorzugt weil vollstängiger)
Darüber hinaus ist das
echo
wieder enthalten.~Arano