photory
Goto Top

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:
<!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">&nbsp;</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&auml;hlen">Bitte ausw&auml;hlen!</option>  
        <option value="oesterreich">&Ouml;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>&nbsp;</p>
<p>&nbsp;</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">&nbsp;</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&Uuml;r Ihre Nachricht.</h2>  


<p>&nbsp;</p>
<p>&nbsp;</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);

?>

Content-Key: 191656

Url: https://administrator.de/contentid/191656

Printed on: April 25, 2024 at 16:04 o'clock

Member: infowars
infowars Sep 22, 2012 at 08:45:02 (UTC)
Goto Top
Stimmen denn die Pfade ?
Gibts eine Fehlermeldung in den Logs ?
Member: Photory
Photory Sep 22, 2012 at 08:55:39 (UTC)
Goto Top
Die pfade stimmen alle
in den logs alles normal
Member: Arano
Arano Sep 22, 2012 at 12:52:29 (UTC)
Goto Top
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 ?
/
+- captcha.php
+- captcha (dir)
   +- captcha.png
   +- xfiles.ttf
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
Member: Photory
Photory Sep 22, 2012 at 14:03:58 (UTC)
Goto Top
tut mir leid aber das kapiere ich jetzt nicht ganz.
Das heist das die captcha.php liegt im Root verzeichnis das weis ich aber das habe ich davor auch schon probiert in das verzeichnis captcha zu legen aber da war das gleiche problem.

und was meinst du mit 2 verschiedene Methoden um die auszurufen.


P.S.: Ich bin eher Anfänger mit PHP face-smile
Member: Arano
Arano Sep 22, 2012 at 18:04:59 (UTC)
Goto Top
Hallo ComTech32

ach alles klein Problem, jeder war einmal Anfänger face-smile

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
Der absolute Pfad geht immer von Root (also "C:/" oder "/") bis zum Ende z.B.
/ordner1/ordner2/ordener3/datei.ext oder
C:\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:
  1. $img = ImageCreateFromPNG('captcha.PNG'); #Backroundimage
  2. $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
Member: Photory
Photory Sep 22, 2012 at 19:00:14 (UTC)
Goto Top
Die Dateien liegen so wie du es vermutest
die Dateien können gelesen werden.
ICh hoffe es das es richtig ist.
Ich hoffe auch das dieser korreckt ist. $ttf
habe ich auch schon.


zur INFO:
das habe ich von einem YouTube Video kopiert.
http://www.youtube.com/watch?v=q9dA31cXpTM
Member: Arano
Arano Sep 23, 2012 at 11:40:10 (UTC)
Goto Top
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.
/
+- 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&uuml;gbar.<br />\n";  
else
    echo "imagettftext() Funktion ist NICHT verf&uuml;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 face-wink



~Arano
Member: Photory
Photory Sep 26, 2012 at 17:53:43 (UTC)
Goto Top
Bei mir funktioniert das irgendwie nicht.
ICh habe jetzt alles in einen Ordner gepackt und dann habe ich das alles was Sie reingeschrieben haben abgeändert aber jetzt zeigt er nichts mehr an
Member: Arano
Arano Sep 26, 2012 at 18:04:30 (UTC)
Goto Top
Hi,

Was ist den mit den Daten die ich ansprach ?
Wenn du nur die Hälfte machst, kann ich mir ja auch die halbe Tipparbeit sparen.
Ae c es ih bdrdsdn ohgflt ecwiedn bdsjmn esh !? (jedes 2. Zeichen wurde entfernt - nur die Hälfte :-P )
Macht so nicht viel Sinn oder - na also !


~Arano
Member: Photory
Photory Sep 26, 2012 at 18:12:43 (UTC)
Goto Top
ICh habe alles so gemacht wie Sie geschrieben habe aber es tut mir leid ich bin eben kompletter anfänger am besten ich lasse das einfach oder was wäre Ihre meinung
Member: Arano
Arano Sep 26, 2012 at 18:40:48 (UTC)
Goto Top
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
Member: Photory
Photory Sep 26, 2012 at 18:49:41 (UTC)
Goto Top
Ich möchte weiter machen allerdings mache ich jetzt schon ca. 1 Woche rum mit diesem "blöden" Skript.
Member: Arano
Arano Sep 26, 2012 at 19:01:20 (UTC)
Goto Top
Dann füge mal in die erste Zeile, NACH "<?php" die beide folgenden Zeilen ein:
ini_set("display_errors", 1);  
ini_set("display_errors", E_ALL|E_STRICT);  
Das soll
  1. die Fehlerausgabe aktivieren und
  2. 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
Member: Photory
Photory Sep 26, 2012 at 19:05:41 (UTC)
Goto Top
Es ist alles gleich geblieben.
Member: Arano
Arano Sep 26, 2012 updated at 19:35:28 (UTC)
Goto Top
Ups, mein Fehler...

Tausche in dem zweitem ini_set() das "display_errors" bitte gegen "error_reporting" aus und füge dahinter noch ein echo ein das irgend etwas ausgiebt um zumindest nicht nur eine stumpfe weiße Seite zu bekommen.
Member: Photory
Photory Sep 27, 2012 at 17:28:13 (UTC)
Goto Top
Dann wenn ich das gemacht habe kommt folgender Fehler:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php:4) in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 6 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php:4) in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 6 Warning: Cannot modify header information - headers already sent by (output started at /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php:4) in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 29 Warning: imagecreatefrompng(): open_basedir restriction in effect. File(/customers/0/7/2/pati-schmidt.at/httpd.wwwcaptcha/captcha.PNG) is not within the allowed path(s): (/customers/0/7/2/pati-schmidt.at/httpd.www:/customers/0/7/2/pati-schmidt.at/httpd.private:/customers/0/7/2/pati-schmidt.at/tmp:/customers/pati-schmidt.at/pati-schmidt.at:/var/www/diagnostics:/usr/share/php) in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 30 Warning: imagecreatefrompng(/customers/0/7/2/pati-schmidt.at/httpd.wwwcaptcha/captcha.PNG): failed to open stream: Operation not permitted in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 30 Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 31 Warning: imagettftext() expects parameter 1 to be resource, boolean given in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 37 Warning: imagepng() expects parameter 1 to be resource, boolean given in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 38 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /customers/0/7/2/pati-schmidt.at/httpd.www/test/captcha/captcha.php on line 39
Member: Arano
Arano Sep 27, 2012 at 18:17:08 (UTC)
Goto Top
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 < code>-Tags einfügen face-wink 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:

  1. Den Pfad korrigieren
  2. Das "echo '123';" wieder entfernen und
  3. erstelle mal eine weitere Datei in dem Verzeichnis "captcha" (zufälliger Name) mit folgenden Inhalt:
<?php
  phpinfo();
?>
und schick mir den Link per Nachricht muss ja nicht jeder sehen


~Arano
Member: Photory
Photory Sep 27, 2012 at 18:41:35 (UTC)
Goto Top
Ich habe dir eine Nachricht geschrieben face-smile
Member: Arano
Arano Sep 27, 2012 at 18:58:42 (UTC)
Goto Top
Und was ist mit 1. ?
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
Member: Photory
Photory Sep 27, 2012 at 19:04:03 (UTC)
Goto Top
aber ich kann den Fehler in Zeile 30 nicht finden.

Sorry ich weiß ich bin begriffsstuzig
Member: Arano
Arano Sep 27, 2012 at 19:08:12 (UTC)
Goto Top
Nunja, das ändert aber nichts daran, das dort ein Fehler IST !
Und solange der da ist, geht es nicht weiter.

Ich kann ihn nicht weg machen,
und so bleibst nur du - hilft nichts...
Member: Photory
Photory Sep 27, 2012 at 19:26:34 (UTC)
Goto Top
naja aber kannst du mir nicht einfach sagen wo der Fehler ist oder muss ich das selbst raus finden??

face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile face-smile
Member: Arano
Arano Sep 27, 2012 at 19:53:31 (UTC)
Goto Top
Klar kann ich das, aber da gehört dann auch eine Rechnung zu !

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
So, was ist in der zweiten Zeile wohl falsch ?
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. vorerst

Ich schau dann morgen wieder vorbei
~Arano
Member: Photory
Photory Sep 28, 2012 at 17:08:36 (UTC)
Goto Top
Habe es jetzt alles ausgetauscht
funkt immer noch nicht
Member: Arano
Arano Sep 28, 2012 at 18:33:20 (UTC)
Goto Top
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) face-wink

Darüber hinaus ist das echo wieder enthalten.


~Arano
Member: Arano
Arano Sep 30, 2012 at 17:50:08 (UTC)
Goto Top
Öhm... HALLOOO ?

Hast du es jetzt aufgegeben, die Dateien scheinen auf dem Server nicht mehr zu existieren... !?

Hättest mir ja auch mal Bescheid sagen können, immerhin habe ich mich auch damit beschäftigt und wollte dir weiterhelfen...

??
Member: Photory
Photory Oct 01, 2012 at 16:16:32 (UTC)
Goto Top
ich habe nicht aufgegeben aber ich wollte mal schauen ob es überhaupt ohne captcha funktioniert.
habe aber momentan viel zu viel arbeit und zu wenig zeit.
deswegen habe ich mich nicht mehr gemeldet