Fabian: übergabe von Variable

Hallo
ich habe mir folgenden PHP Code zusammengebastelt.

In der ersten Datei soll ein Dateinamen angegeben werden der dann an die andere Datei übergeben wird und eine weitere mit dem zuvoreingegeben namen erstellt.

Die erste datei hat den Code:

<html>  
  
  
<form method="post" action="test3.php">  
<input type="text" name="uebergabe">  
<input type="submit" name="absenden" value="Senden">  
</form>  
  
<?  
$alter = $uebergabe;  
  
if ( $alter == 0 ) {  
echo "Geben sie einen Dateinamen ein";  
}  
?>  
  
  
  
</html>

nun soll der eingegebene Name an die Datei "test3.php" übergeben werden die wie folgend aussieht:

<?php  
{  
   $file = $alter;  
  
   echo "<form action=\"$PHP_SELF\" method=\"POST\">";  
   echo "<textarea name=\"text\" cols=\"50\" rows=\"5\">";  
   readfile($file);  
   echo "</textarea><BR>";  
   echo "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";  
   echo "</form><BR>";  
  
   if ($gesendet) {  
      $datei_speichern=fopen($file, "a");  
      fwrite ($datei_speichern, $_POST['text']);  
      fclose($datei_speichern);  
      echo "Änderung erfolgreich";  
   }  
}  
?>

Nur leider wird mir die Variable von Datei eins nicht an datei zwei (test3.php) übergeben.

Leider kann ich den fehler in meinem Code nicht finden.
Ich hoffe ihr könnt mir weiterhelfen.

  1. Hi,

    In der ersten Datei soll ein Dateinamen angegeben werden der dann an die andere Datei übergeben wird und eine weitere mit dem zuvoreingegeben namen erstellt.

    klingt irgendwie recht umständlich ... bist du sicher, dass das einen Sinn ergibt?

    <form method="post" action="test3.php">
    <input type="text" name="uebergabe">
    <input type="submit" name="absenden" value="Senden">
    </form>

    <?
    $alter = $uebergabe;

    if ( $alter == 0 ) {
    echo "Geben sie einen Dateinamen ein";
    }
    ?>

    Schön. Das gibt ein Formular aus, weist dann die nicht existierende Variable $uebergabe an $alter zu und gibt schließlich, weil $alter dann vermutlich als 0 gewertet wird, unter dem Formular noch einen Text aus.

    Gewöhne dir übrigens gar nicht erst an, dir PHP Short Tags zu verwenden; bei vielen Hostern sind die abgeschaltet, und das aus gutem Grund. Dieses Feature kann nämlich mit der serverseitigen Verarbeitung von XML-Dateien kollidieren. Aber das nur am Rande.

    nun soll der eingegebene Name an die Datei "test3.php" übergeben werden die wie folgend aussieht:

    [code lang=php]<?php
    {
       $file = $alter;

    Auch hier greifst du wieder auf eine nicht vorhandene Variable zu, in diesem Fall auf $alter. Und wozu überhaupt ein einfaches Umkopieren?

    echo "<form action="$PHP_SELF" method="POST">";
       echo "<textarea name="text" cols="50" rows="5">";
       readfile($file);
       echo "</textarea><BR>";
       echo "<input type="submit" name="gesendet" value="speichern">";
       echo "</form><BR>";

    if ($gesendet) {

    Auch $gesendet existiert nicht, wurde nirgends zuvor definiert.

    Nur leider wird mir die Variable von Datei eins nicht an datei zwei (test3.php) übergeben.

    Wie denn auch? Das einzige, was das Formular aus der ersten Datei übergibt, sind die URL-Parameter uebergabe und absenden, die dir im empfangenden Script als $_POST['uebergabe'] und $_POST['absenden'] zur Verfügung stehen.

    Mir scheint, du solltest dich nochmal gründlich mit dem Thema Formularverarbeitung in PHP befassen.

    So long,
     Martin

    --
    Zwei Politiker auf dem Weg zum Sitzungssaal: "Was sagten Sie in ihrer Rede neulich noch zur Rentenreform?" - "Nichts." - "Ja, schon klar. Aber wie haben Sie es formuliert?"