PHP Variabel übergeben

Björn

Lt. Junior Grade
Dabei seit
Sep. 2002
Beiträge
308
Hallo,

ich habe angefangen mich ein wenig mit PHP zu beschäftigen. Nun habe ich Folgendes Skript gemacht,
PHP:
<?php
header("Content-type: image/png");
$height = 100;
$width = 200;
$fontsize = 50;
if ( empty ( $_GET['text'] ) ) {
    $text = "ändere mich";
} else {
    $text = $_GET['text'];
}
$image = imagecreate( $width, $height );
$image = imagecreatefromjpeg("Bild1.jpg");
$blue = imagecolorallocate($image, 0,0,255 );
$font = "./AnkeHand.ttf";
$textwidth = $width;
$textheight;
while ( true ) {
    $box = imageTTFbbox( $fontsize, 0, $font, $text );
    $textwidth =  abs( $box[2] );
    $textbodyheight = ( abs($box[7]) )-2;
    if ( $textwidth < $width - 20 )
        break;
    $fontsize--;
}
$gifXcenter = (int) ( $width/2 );
$gifYcenter = (int) ( $height/2 );
imageTTFtext(    $image, $fontsize, 0,
        (int) ($gifXcenter-($textwidth/2)),
        (int) ($gifYcenter+(($textbodyheight)/2) ),
        $blue, $font, $text );
imagepng($image);
?>
Ich möchte gerne das man den Teil ändere mich vorher durch eine eingabe gemacht werden kann und dann ersetzt wird oder wenn nur senden gedrückt wird eben bestehen bleibt. Leider finde ich in meinen beiden schlauen Büchern und im Internet immer Beispiele wo die eingabe per Mail versendet werden soll. Das möchte ich ja nicht, ich möchte das die Variabel die man einginbt übergeben wird. Ich komme einfach nicht drauf wie ich es anstellen kann. Es wäre nett wenn mir jemand hefeln könnte.
 

mh1001

Lt. Commander
Dabei seit
Nov. 2003
Beiträge
2.039
Hallo,

Variablen kannst du über die GET-Methode ganz einfach übergeben, indem du ein Formular mit dem Attribut method="get" erstellst.
Dies könnte dann so aussehen:

HTML:
<form action="zielscript.php" method="get">
  <input type="text" name="text" />
  <input type="submit" name="absenden" value="Absenden" />
</form>
MfG mh1001
 
Zuletzt bearbeitet:

Björn

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2002
Beiträge
308
Okay so was in der Art hatte ich schon mal versucht. Nur was ich nicht verstehe ich wie genau das dann aussehen soll. Also ich habe ja mein Skript. Nun würde ich über den von Dir genannten Code ja die Variabel text einlesen. Wenn ich es bis hier hin richig verstehe. Nur was ich nicht verstehe ich A warum muss ich das Skript in einer Extradatei laufen lassen? B soll ich das nun nur html mässig einbinden oder nur mit <?php ... ?> umschiessen? Sorry ich bin eben erst Anfänger und danke für die Gedult mit mir.
 

mh1001

Lt. Commander
Dabei seit
Nov. 2003
Beiträge
2.039
[...] Nun würde ich über den von Dir genannten Code ja die Variabel text einlesen. Wenn ich es bis hier hin richig verstehe. [...]
Ja, genau so ist es. ;)

[...] soll ich das nun nur html mässig einbinden oder nur mit <?php ... ?> umschiessen? [...]
Das ganze muss nicht mit PHP-Tags umschlossen werden (und darf es auch gar nicht ;) ), da es ganz normaler HTML-Code ist.

Prinzipiell kann sich das Formular auch in der selben Datei befinden, in der sich auch der HTML-Code befindet. In dem File ist dann der Wert des "action"-Attribut einfach die selbige Datei.

In deinem Fall ist dies jedoch so direkt nicht möglich:
Mit "header("Content-type: image/png");" legst du im Header als Content-Type ein Bild fest, welches natürlich auch keinen HTML-Code enthalten kann - ansonsten würdest du bei der Ausgabe wahrscheinlich nur wirre Zeichen im Browser zu sehen bekommen. ;)

MfG mh1001
 
Zuletzt bearbeitet:

daemon777

Lt. Commander
Dabei seit
Dez. 2003
Beiträge
1.372
Wenn du es innerhalb des php tags ( <?php .... ?>) schreiben willst musst das mit Hilfe des echo Befehls von php machen. Also zB.
Code:
echo '<form action="zielscript.php" method="get">
  <input type="text" name="text" />
  <input type="submit" name="absenden" value="Absenden" />
</form>';
Das muss so gemacht werden, da der Browser ( na ja nur die halbe wahrheit aber egal :) ) sonst denkt, dass jetzt ein php-Befehl folgt. Da dies aber nicht der Fall ist schreiben wir es mit dem echo Befehl in die html/htm Datei. Wenn du die Seite jetzt öffnest und dir den Quellcode ansiehst kannst du keine php-Befehle sehen sondern nur die Dinge die wir mit echo in die html datei geschrieben haben bzw. die Dinge, die nicht mit <?php ... ?> umschlossen sind.

Ach ja: das Ding heißt Variable und nicht Variabel :D
 
Top