php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-04-2011, 12:50
Prominenter
 Registrierter Benutzer
Links : Onlinestatus : Prominenter ist offline
Registriert seit: Apr 2004
Beiträge: 152
Prominenter ist zur Zeit noch ein unbeschriebenes Blatt
Standard Captcha ?

Hi@all

Habe folgende Captcha.php
PHP-Code:
<?php
session_name
('CAP');
session_start();
error_reporting(E_ALL);
# Benötigte Files laden! Hier kann editiert werden!
$CAPTCHA_TempString "";
# Zufallsfunktion für Zahlen und Buchstaben
function GetRandomChar()
{
 
# Zufallszahl generieren
 
mt_srand((double)microtime()*1000000);
 
$CAPTCHA_RandVal mt_rand(1,2);
 
# Buchstabensalat generieren jeh nachdem ob Randval 1 oder 2 ist
 
switch ($CAPTCHA_RandVal)
 {
  case 
1:
  
# Zahlen 0-9
  
$CAPTCHA_RandVal mt_rand(4857);
  break;
  case 
2:
  
# Grosse Buchstaben
  
$CAPTCHA_RandVal mt_rand(6590);
  break;
 }
 
# Zufallscode ausgeben
 
return chr($CAPTCHA_RandVal);
}

# Zufallscode x-stellig ausgeben
for ($i 1$i <= 6$i++)
{
 
$CAPTCHA_TempString .= GetRandomChar();
}

# Text in Sessionvariable speichern
if (isset($CAPTCHA_TempString))
{
 
$_SESSION['captcha'] = str_replace('I','E',str_replace('0','3',str_replace('1','S',str_replace('O','P',str_replace('4','A',str_replace('D','K',$CAPTCHA_TempString))))));
}
else
{
 die(
"Zufallscode konnte nicht generiert werden!");
}

// Alternative Grafik-Zeichenfunktion nutzen?
// (bei fehlerhafter Darstellung oder fehlendem Truetype-support) 1=nein, 2=ja
$imagettftext "1";
$Welleneffekt "1";
$Textgroesse  30;
$Texthoehe    45;
$Schriftart   "mistral.ttf";
$bg1 "background1.png";
$bg2 "background2.png";
$ov1 "overlay1.png";
$ov2 "overlay2.png";

// Benötige Strings überprüfen
if (isset($_SESSION['captcha']))
{
 
$CAPTCHA_RandomText $_SESSION['captcha'];
}
else
{
 
// Fehlermeldung ausgeben
 
header ("Content-type: image/png");
 
$im = @imagecreatetruecolor(25030) or die("Cannot Initialize new GD image stream");
 
$text_color imagecolorallocate($im2331491);
 
imagestring($im1057"Kein Zufallscode übergeben!"$text_color);
 
imagepng($im);
 
imagedestroy($im);
 exit();
}

// Auf Funktion überprüfen
if ($imagettftext == "1")
{
 
// Benötige Files überprüfen
 
if (!file_exists($Schriftart))
 {
  
// Fehlermeldung ausgeben
  // header ("Content-type: image/png");
  
$im = @imagecreatetruecolor(25030) or die("Cannot Initialize new GD image stream");
  
$text_color imagecolorallocate($im2331491);
  
imagestring($im1057"Schriftart nicht gefunden!"$text_color);
  
imagepng($im);
  
imagedestroy($im);
  exit();
 }
    
 if (!
file_exists($bg1) OR !file_exists($bg2))
 {
  
// Fehlermeldung ausgeben
  
header ("Content-type: image/png");
  
$im = @imagecreatetruecolor(25030) or die("Cannot Initialize new GD image stream");
  
$text_color imagecolorallocate($im2331491);
  
imagestring($im1057"Hintergrundbild nicht gefunden!"$text_color);
  
imagepng($im);
  
imagedestroy($im);
  exit();
 }
    
 if (!
file_exists($ov1) OR !file_exists($ov2))
 {
  
// Fehlermeldung ausgeben
  
header ("Content-type: image/png");
  
$im = @imagecreatetruecolor(25030) or die("Cannot Initialize new GD image stream");
  
$text_color imagecolorallocate($im2331491);
  
imagestring($im1057"Overlaybild nicht gefunden!"$text_color);
  
imagepng($im);
  
imagedestroy($im);
  exit();
 }
    
 
// Zufallshintergrund
 
mt_srand((double)microtime()*1000000);
 
$Bild1 mt_rand(12);
 switch (
$Bild1)
 {
  case 
1:
  
$Grafik=imagecreatefrompng($bg1);
  
$Grafikhilf=imagecreatefrompng($bg1);
  break 
1;
  case 
2:
  
$Grafik=imagecreatefrompng($bg2);
  
$Grafikhilf=imagecreatefrompng($bg2);
  break 
1;
 }

 
// Zufallsgrafik2
 
mt_srand((double)microtime()*1000000);
 
$Bild2 mt_rand(12);
 switch (
$Bild2)
 {
  case 
1:
  
$Grafik2=imagecreatefrompng($ov1);
  break 
1;
  case 
2:
  
$Grafik2=imagecreatefrompng($ov2);
  break 
1;
 }

 
// Textfarben ins Array speichern
 
$textfarbe = array( imagecolorallocate($Grafik128128128),
                      
imagecolorallocate($Grafik000),
                     
imagecolorallocate($Grafik501714),
                     
imagecolorallocate($Grafik1280128),
                     
imagecolorallocate($Grafik128128255),
                     
imagecolorallocate($Grafik255128128),
                     
imagecolorallocate($Grafik1921220),
                     
imagecolorallocate($Grafik25094250),
                     
imagecolorallocate($Grafik122146224),
                     
imagecolorallocate($Grafik122155180)
                    );

 
// Text auf das Bild schreiben
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 10$Texthoehe+mt_rand(-7,8), $Textfarbe1 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[0]);
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 45$Texthoehe+mt_rand(-7,8), $Textfarbe2 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[1]);
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 80$Texthoehe+mt_rand(-7,8), $Textfarbe3 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[2]);
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 113$Texthoehe+mt_rand(-7,8), $Textfarbe4 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[3]);
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 150$Texthoehe+mt_rand(-7,8), $Textfarbe5 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[4]);
 
imagettftext($Grafik$Textgroessemt_rand(-1313), 191$Texthoehe+mt_rand(-7,8), $Textfarbe6 $textfarbe[array_rand($textfarbe)] , $Schriftart$CAPTCHA_RandomText[5]);

 
// Welleneffekt
 
if ($Welleneffekt == "2")
 {
  
$stauchung mt_rand(0,100)/400+0.10;
  
$Grafikalt $Grafik;
  
$Grafik $Grafikhilf;
  for (
$i=1;$i<=65;$i++)
  {
   
imagecopy($Grafik$Grafikaltround((sin($i*$stauchung)*2))+3$i1$i230,1);
  }
 }
 
 
// Transparente Grafik drüberlegen
 
imagecopy($Grafik$Grafik2000023065);

 
// Bild ausgeben
 
header("Content-type: image/png");
 
imagepng($Grafik);
 
imagedestroy($Grafik);
}
else if (
$imagettftext == "2")
{
 
// Alternativbild ausgeben
 
header ("Content-type: image/png");
 
$im = @imagecreatetruecolor(7030) or die("Cannot Initialize new GD image stream");
 
$text_color imagecolorallocate($im255255255);
 
imagestring($im1057$CAPTCHA_RandomText$text_color);
 
imagepng($im);
 
imagedestroy($im);
}
else
{
 
// Fehlermeldung ausgeben
 
header ("Content-type: image/png");
 
$im = @imagecreatetruecolor(43030) or die("Cannot Initialize new GD image stream");
 
$text_color imagecolorallocate($im2331491);
 
imagestring($im1057"Fehlerhafte Auswahl($imagettftext)der Funktion! (1 od. 2)"$text_color);
 
imagepng($im);
 
imagedestroy($im);
 exit();
}
?>
Auf meinem Localhost (HomeRechner) funktioniert alles, doch online leider nicht.
Kann mir jemand bitte helfen.

Thx@all
Mit Zitat antworten
  #2 (permalink)  
Alt 04-04-2011, 13:08
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

soll ich das Thema gleich trashen oder willst du vielleicht doch noch dazuschreiben
  • was du damit meinst, dass es nicht funktioniert
  • welches Verhalten du erwartest
  • welches Verhalten tatsächlich auftritt
  • welche Debuggingmaßnahmen du durchgeführt hast
  • welche Ergebnisse und Vermutungen daraus resultieren
  • was du selbst versucht hast, um es zu beheben
  • warum du den Code nicht auf den wirklich relevanten Teil beschränkt hast
?

Wir sind keine kostenlose Reparaturanstalt für geklauten und kaputteditierten PHP-Code.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (04-04-2011 um 13:10 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 04-04-2011, 13:16
Prominenter
 Registrierter Benutzer
Links : Onlinestatus : Prominenter ist offline
Registriert seit: Apr 2004
Beiträge: 152
Prominenter ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@AmicaNoctis

Upps, nicht gleich so heftig.

Also auf meinem localen rechner wird nach ausführen dieses Codes ein Bild mit aufgeschriebenen Buchstaben ausgegeben.
Nachdem ich die Datei auf meinen Server geladne habe wird nur noch das Bild ausgegeben, ohne Buchstaben.

Ich bekomme keine Fehlermeldung.

Leider weiß ich nicht wo ich den Fehleransatz machen soll, deshalb der komplette Code der Datei und meine Bitte ob mir jemand einen Tipp geben kann woran das liegen könnte, das es local funktioniert und online eben nicht.

Thx@all
Mit Zitat antworten
  #4 (permalink)  
Alt 04-04-2011, 13:24
Prominenter
 Registrierter Benutzer
Links : Onlinestatus : Prominenter ist offline
Registriert seit: Apr 2004
Beiträge: 152
Prominenter ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK, danke, hat sich erledigt.

Die Pfadangabe zur Schriftart muss:
PHP-Code:
$Schriftart   $_SERVER['DOCUMENT_ROOT']."/pfad/schriftart.ttf"
lauten.

Thx@all

Kann geschlossen werden.
Mit Zitat antworten
  #5 (permalink)  
Alt 04-04-2011, 13:26
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Prominenter Beitrag anzeigen
Upps, nicht gleich so heftig.
Du bist halt nicht der erste, der meint, Forenregeln seien nur zum Spaß da und nach dem 1000sten Mal fängt es leicht an, zu nerven.

Zitat:
Zitat von Prominenter Beitrag anzeigen
Also auf meinem localen rechner wird nach ausführen dieses Codes ein Bild mit aufgeschriebenen Buchstaben ausgegeben.
Nachdem ich die Datei auf meinen Server geladne habe wird nur noch das Bild ausgegeben, ohne Buchstaben.

Ich bekomme keine Fehlermeldung.
Das ist ja schonmal eine Fehlerbeschreibung.

Ist auf dem Server TrueType-Support verfügbar? Hast du die zu benutzende TTF-Datei auch mit hochgeladen?

[Edit] Alles klar.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #6 (permalink)  
Alt 05-04-2011, 00:25
sEeb
 Registrierter Benutzer
Links : Onlinestatus : sEeb ist offline
Registriert seit: Aug 2003
Beiträge: 135
sEeb ist zur Zeit noch ein unbeschriebenes Blatt
sEeb eine Nachricht über ICQ schicken
Standard

wie schon gesagt, vermutlich fehlen nötige bibliotheken
zum finden des fehlers sollten du neben
error_reporting(E_ALL);
auch
ini_set('display_errors',true); setzen
und weiter unten das Senden der Header ausschalten.
Dann siehst du die Fehler normalerweise sofort, hat mir bei der captcha Programmierung sehr geholfen
__________________
verantwortlich für Elygor - Das kostenlose Browserspiel
Mit Zitat antworten
  #7 (permalink)  
Alt 05-04-2011, 00:27
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sEeb Beitrag anzeigen
wie schon gesagt, vermutlich fehlen nötige bibliotheken
Wie ebenfalls schon gesagt:
Zitat:
Zitat von Prominenter Beitrag anzeigen
OK, danke, hat sich erledigt.
- und das schon einen halben Tag vor deinem Beitrag ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Captcha mit JS E.T. HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 6 07-09-2009 11:28
JS Captcha wizzardxx HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 17 12-02-2009 15:44
Ich bau mir nen Rechen-Captcha litterauspirna PHP Developer Forum 65 22-05-2008 14:41
Captcha Probs Fry2k PHP Developer Forum 7 03-12-2006 16:29
Captcha Charly Projekthilfe 3 27-11-2006 17:58

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37 Uhr.