Willkommen in der Webstatt
User-1 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?
User-2 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

User-3 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

User-1 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;?>

User-3 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*

User-1 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?

User-1 am 29.09.06 20:36

weiss keiner weiter?

User-4 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.

User-1 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