Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Variablen auf andere Skripte übergeben“

v36374

Noch nicht viel geschrieben

Hallo zusammen!

Bitte Rücksicht nehmen, ich bin blutiger Forumsanfänger und habe auch schon die Suchfunktion genutzt -> kein Ergebnis!

Folgendes:
Ich möchte ein Captcha erstellen und es als md5 in einer Session speichern, Session-Variablen kann man meines wissens aber nur dann erstellen wenn noch keine Zeichenausgabe gekommen ist. Daher habe ich folgenden Code bei mir in der index.php bevor ich zeichen ausgebe:

PHP:
session_start();
		$temp = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
		shuffle($temp);
		$text = "";
		for($i = 1; $i < 7; $i++) {
			$text .= $temp[$i];
		}
		$_SESSION["md5"] = md5($text);
		$c = $text;
		global $c;

jetzt rufe ich später über eine andere php datei meine captcha.php auf. Folgender Inhalt:

PHP:
$text = $c;
	$image = imagecreate(100,30);
	imagecolorallocate($image, 153, 163, 155);
	imagecolorallocate($image, 0, 0, 0);
	imagecolorallocate($image, rand(50,175), rand(125,225), rand(125,225));
	imagecolorallocate($image, rand(125,225), rand(50,175), rand(125,225));
	$farbe = ImageColorAllocate($image,83,90,94);
	imageline($image, 0, rand(2,7), 100, rand(9,14), $farbe);
	imageline($image, 0, rand(9,14), 50, rand(9,14), $farbe);
	imageline($image, 40, rand(12,14), 90, rand(9,14), $farbe);
	imageline($image, 10, rand(25,30), 60, rand(9,14), $farbe);
	ImageTTFText($image,18, 0, 1,18,$farbe,"Calibri.ttf",$text);

	header('Content-type: image/png');
	imagepng($image);

Leider kriege ich da keine Buchstaben im Captcha ausgegeben ... Die $_session[md5] steht aber und die kann ich später auch checken ...

Für jede Hilfe Dankbar!
 

exo

Aktives Mitglied

AW: Variablen auf andere Skripte übergeben

hmmm wird die grafik denn erstellt? Oder gibts da irgend ne Fehlermeldung?

Andere Sache, sollte man variablen nicht vorher deklariereren, bevor man diesen nicht einen Wert zuweist? Sprich das "global $c" vor "$c = $text" ?

übrigens, um einen zufallswert zu erzeugen (du nutzt hier das alphabet und ne for-schleife) nimm doch einfach --> http://de.php.net/manual/de/function.rand.php
 
Zuletzt bearbeitet:

r3nt5ch3r

~ Allround pG ~

AW: Variablen auf andere Skripte übergeben

PHP:
$text = $c;
so kannst du natürlich nicht $c aus dem "Nichts" holen... probiers doch stattdessen mal mit:

PHP:
$_SESSION["text"] = $text;
...
$text = $_SESSION["text"];
PHP:
<?
session_start();
$temp = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
shuffle($temp);
$text = "";
for($i = 1; $i < 7; $i++) {
    $text .= $temp[$i];
}
$_SESSION["text"] = $text;
?>
PHP:
<?
session_start();
$text = $_SESSION["text"];
$image = imagecreate(100,30);
imagecolorallocate($image, 153, 163, 155);
imagecolorallocate($image, 0, 0, 0);
imagecolorallocate($image, rand(50,175), rand(125,225), rand(125,225));
imagecolorallocate($image, rand(125,225), rand(50,175), rand(125,225));
$farbe = ImageColorAllocate($image,83,90,94);
imageline($image, 0, rand(2,7), 100, rand(9,14), $farbe);
imageline($image, 0, rand(9,14), 50, rand(9,14), $farbe);
imageline($image, 40, rand(12,14), 90, rand(9,14), $farbe);
imageline($image, 10, rand(25,30), 60, rand(9,14), $farbe);
ImageTTFText($image,18, 0, 1,18,$farbe,"Calibri.ttf",$text);

header('Content-type: image/png');
imagepng($image);  

?>

@ kannst du ma aufhören so viel Müll von dir zu geben?!
hmmm wird die grafik denn erstellt? Oder gibts da irgend ne Fehlermeldung? Ist das Verzeichniss wo du die Grafik hinspeicherst auch CHMOD 777 ?

1. Ja
2. Nein
3. braucht man net speichern -> wird direkt angezeigt

Andere Sache, sollte man variablen nicht vorher deklariereren, bevor man diesen nicht einen Wert zuweist? Sprich das "global $c" vor "$c = $text" ?

global ist die Sichtbarkeit der Variable -> hat nichts mit der Deklaration zu tun (hast aber recht, die fehlt^^)

übrigens, um einen zufallswert zu erzeugen (du nutzt hier das alphabet und ne for-schleife) nimm doch einfach --> http://de.php.net/manual/de/function.rand.php

"rand — Erzeugt einen zufälligen Integerwert" -> er will aber auch Buchstaben...
 
Zuletzt bearbeitet:

v36374

Noch nicht viel geschrieben

AW: Variablen auf andere Skripte übergeben

Danke erstmal für die Antworten...

habe beides ausprobiert , leider keine Lösung für mein Problem....
die grafik wird an sich erstellt, aber es wird kein Text draufgeladen ...
 

r3nt5ch3r

~ Allround pG ~

AW: Variablen auf andere Skripte übergeben

Ich habs grad probiert mit meinem geposteten Quelltext und es funktioniert. Natürlich musst du zuerst die index.php aufrufen, damit in der Session der Text gespeichert wird...

(wobei ich mich auch frag wieso du das in 2 Dateien machst xD)

captcha.php
PHP:
<?
session_start();

$temp = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
shuffle($temp);
$text = "";
for($i = 1; $i < 7; $i++) {
    $text .= $temp[$i];
}

$image = imagecreate(100,30);
imagecolorallocate($image, 153, 163, 155);
imagecolorallocate($image, 0, 0, 0);
imagecolorallocate($image, rand(50,175), rand(125,225), rand(125,225));
imagecolorallocate($image, rand(125,225), rand(50,175), rand(125,225));
$farbe = ImageColorAllocate($image,83,90,94);
imageline($image, 0, rand(2,7), 100, rand(9,14), $farbe);
imageline($image, 0, rand(9,14), 50, rand(9,14), $farbe);
imageline($image, 40, rand(12,14), 90, rand(9,14), $farbe);
imageline($image, 10, rand(25,30), 60, rand(9,14), $farbe);
ImageTTFText($image,18, 0, 1,18,$farbe,"Calibri.ttf",$text);

header('Content-type: image/png');
imagepng($image);  

?>
 
Zuletzt bearbeitet:

v36374

Noch nicht viel geschrieben

AW: Variablen auf andere Skripte übergeben

Ich will das Captcha nur temporär aufrufen und nicht standardmäßig eins bauen, das ich abspeichern muss... Ich will das nur beim Gästebuch aufgerufen haben...

Aber ich versuchs weiter :p
 

r3nt5ch3r

~ Allround pG ~

AW: Variablen auf andere Skripte übergeben

Ich versteh dein Problem nicht. Was abspeichern?! Wieso kannst du meins nicht temporär aufrufen?!^^
 

v36374

Noch nicht viel geschrieben

AW: Variablen auf andere Skripte übergeben

Ah habs raus ^^

Hab einfach das session_start(); vergessen beim Captcha reinzusetztn ... es Funktioniert jetzt auf jeden Fall alles so wie ich es will ^^

DANKE AN ALLE !
Wenn einer den kompletten Code haben will, der kann sich melden ;)
 

r3nt5ch3r

~ Allround pG ~

AW: Variablen auf andere Skripte übergeben

Poste ihn doch einfach hier oder schick ihn mir per pm... ich möchte gern den Unterschied zu meiner ersten geposteten Version sehen^^
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben