PHP gevorderde |
|
Bij mijn host zeggen ze dat het een fout is in mijn php code,
daarom ging ik even op zoek naar een ander script maar ik krijg dezelfde fout.
<?php
// Volle errorreporting...
error_reporting(E_ALL);
// Voor de sessie...
session_start();
// Kijken of GD geïnstalleerd en enabled is...
if (extension_loaded('gd') === false)
{
// We stoppen het script...
die ('Geen GD-libary geïnstalleerd.');
}
else
{
// Hier stoppen we alle letters en getallen in een string...
$sCode = implode(range('a', 'z'));
$sCode .= implode(range(0, 9));
// De eerste 6 tekens sellecteren van een string die random gemaakt is...
$sCode = substr(str_shuffle($sCode), 0, 6);
// De IMG zelf...
if ($image = imagecreatetruecolor(115, 25))
{
// De achtergrond kleur...
$fontcolor = imagecolorallocate ($image, rand(190, 255), rand(190, 255), rand(190, 255));
// Lusje maken...
for ($i = 0; $i < strlen($sCode); $i++)
{
// Ze zullen om-en-om in een negative of positieve rotatie staan...
$iRotation = ($i % 2 == 0) ? rand(-12, -6) : rand(6, 12);
$iMargin = ($i == 0) ? 14 : $i * 14 + 20;
// We gaan de text in de IMG zetten..
imagettftext($image, 11, $iRotation, $iMargin, rand(12, 22), $fontcolor, 'verdana.ttf', $sCode{$i});
}
// De waarde in een sessie zetten...
$_SESSION['captcha'] = $sCode;
// Headertje verzenden...
header('Content-type: image/png');
// De IMG weergeven...
imagepng ($image);
// Het is klaar...
imagedestroy ($image);
}
else
{
// Error weergeven...
die ('Het plaatje kon niet worden aangemaakt.');
}
}
?>
<?php // Volle errorreporting... // Voor de sessie... // Kijken of GD geïnstalleerd en enabled is... { // We stoppen het script... die ('Geen GD-libary geïnstalleerd.'); } else { // Hier stoppen we alle letters en getallen in een string... // De eerste 6 tekens sellecteren van een string die random gemaakt is... // De IMG zelf... if ($image = imagecreatetruecolor(115, 25)) { // De achtergrond kleur... $fontcolor = imagecolorallocate ($image, rand(190, 255), rand(190, 255), rand(190, 255)); // Lusje maken... for ($i = 0; $i < strlen($sCode); $i++) { // Ze zullen om-en-om in een negative of positieve rotatie staan... $iRotation = ($i % 2 == 0) ? rand(-12, -6) : rand(6, 12); $iMargin = ($i == 0) ? 14 : $i * 14 + 20; // We gaan de text in de IMG zetten.. imagettftext ($image, 11, $iRotation, $iMargin, rand(12, 22), $fontcolor, 'verdana.ttf', $sCode{$i}); } // De waarde in een sessie zetten... $_SESSION['captcha'] = $sCode; // Headertje verzenden... header('Content-type: image/png'); // De IMG weergeven... imagepng ($image); // Het is klaar... imagedestroy ($image); } else { // Error weergeven... die ('Het plaatje kon niet worden aangemaakt.'); } } ?>
EDIT:
Verder kreeg ik te horen van me host dat ze dit krijgen:
Premature end of script headers
Nu ging ik eventjes op zoek en kreeg ik dit:
It means just what it says: the server was expecting a complete set of HTTP headers (one or more followed by a blank line), and didn't get them.
Maar hoe los ik dit op?
EDIT 2:
Opgelost, Op 1 of andere manier moest m'n captcha.ttf beschadigd geraakt zijn. Nu werkt het terug. |