Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 28.09.06 19:34

GUTEN TAG liebe gemeinde...

ich habe da ein problem mit variablen ...

und zwar folgendes:

ich habe eine php datei, die abhängig davon was in $_GET['blah'] steht..

wenn nix drinsteht, dann soll nur ein zufallstext in einer $variable weitergegeben werden. wenn aber $_GET['blah'] == xyznblah ist dann soll ein bild generiert werden in dem der gleiche zufallstext in einem bild ausgegeben werden...

wenn ich die datei jetzt include, dann kann ich auf den zufallstext in der $variable nicht zugreifen. warum?

<?php
$conso=array("b","c","d","f","g","h","k","l","m","n","p","r","s","t","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
for($f=1; $f<=4; $f++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}

if (empty($_GET['mawcha'])){
echo $password;
}

else{
header ("Content-type: image/png");
$im = ImageCreate (90, 18);
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate ($im, 5, 77, 150);
ImageString ($im, 2, 2, 2, $password, $text_color);
ImagePNG ($im);
}
?>


<?include("bild.php");
?>
<img class="mawcha" src="bild.php?blah=test" alt="mawcha"/>
<?echo $passwort;?>


das gibt das bild aus auf dem der code steht aber den code als text nicht.

netcup.de Warum gibt es hier Werbung?
tnY am 28.09.06 21:01

also habs mir net genau angeguckt mir is nur aufgefallen das du passwort und password geschrieben hast.. guck gleich mal genauer

nuit nuit am 28.09.06 21:25

if (empty($_GET['mawcha'])){
echo $password;
}

das ist das problem ;D probier mal $_GET['blah'] ;) und nicht $_GET['mawcha']
weil das ist klar leer ;) und dann solltest du in password auch was reinschreiben...weil das bleibt ja leer :D

und ausserdem übergibst du es klartext ;) auch nicht grad das wahre

fish fish am 28.09.06 21:53

wie mach ich es denn sonst?
das hier liefert das gleiche ergebnis..
<?php
$conso=array("b","c","d","f","g","h","k","l","m","n","p","r","s","t","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
for($f=1; $f<=4; $f++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}

if (empty($_GET['mawcha'])){
echo $password;
}

else{
header ("Content-type: image/png");
$im = ImageCreate (90, 18);
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate ($im, 5, 77, 150);
ImageString ($im, 2, 2, 2, $password, $text_color);
ImagePNG ($im);
}
?>


<?include("bild.php");
?>
<img class="mawcha" src="bild.php?mawcha=test" alt="mawcha"/>
<?echo $password;?>

nuit nuit am 28.09.06 22:59

ja weil ja in $password nichts drinsteht....wenn oben $password = "" durch $password = $_GET['mawcha']; ersetzt, sollte es eigentlich funzen...

du schreibs auf das bild $password...worin ja nichts sein kann du hast eine zuweisung dass $password = "" ist, aber dann nichts mehr, was definiert was da drin ist *g*

fish fish am 29.09.06 11:48

hö?

aber an das nichts "" das oben definiert wird, wird doch eine buchstabenkombo angehängt..

also wenn dich die bild.php aufrufe, erhalte ich zb eine solche ausgabe: "diefufo" und wenn ich bild.php?mawcha=lolomgw00t aufrufe erhalte ich ein bild, dass eine andere zufallskombo ausgibt. wenn also bild.php im gleichen phpdokument einmal includet wird und einmal als bild aufgerufen wird müsste ich doch theoretisch einmal ein bild mit einem zufallstext und einmal eine nurtextausgabe bekommen, die den gleichen text hat wie das bild. ODER?

fish fish am 29.09.06 20:36

weiss keiner weiter?

Johannes am 29.09.06 21:03

Die Datei wird doch so gesehen 2 mal aufgerufen. Und bei jedem Aufrufen wird ein neuer Zufallstext generiert. Also bekommst du auch verschiedene Text- und Bildausgaben. Könntest eventuell das Passwort beim Include in eine Session stecken und beim Bild wieder auslesen.

fish fish am 30.09.06 10:03

alles klar. gut. danke!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt