Variable zerlegt, umbenannt...tut sich nichts

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable zerlegt, umbenannt...tut sich nichts

    Hallo, eins vorweg auf sql kann/will ich nicht mehr umsteigen weil der zeitaufwand für das gesamte Projekt zu groß wäre.

    Ich hab Projektordner die so aufgebaut sind:
    001_Projektname

    ich will meine Projekte jetzt einigermaßen "komfortabel" sortieren:
    Per dropdownmenü das zu sortierende Projekt wählen
    und dann 001 per textfeld umbennen.

    Das alles wird ohne Fehlermeldung angezigt, aber leider tut sich nichts nach petätigen des submit Buttons (wieder keine Fehlermeldung)

    Ich hab keinen Plan wo da der Wurm drinsteckt und such mich seit 3 Stunden Kirre (denmentsprechend sieht auch die Formatierung aus )

    Wär klasse wenn jemand kontruktiv weiterhelfen könnte?!!!

    Hier das Skript:


    PHP-Code:
    #Anfang Projekte sortieren
      
                          
           
    echo"
          
    $fontueberschrift
            Projekte sortieren
          </font>
            <br>
            <br>
      <form action=\"./index.php?unter=&indexseite=admin\" method=\"post\" name=\"form3\">
                                    <select name=\"proj\" style=\"width: 300px;\">"
    ;
                                
    if (
    $handle opendir("./projekte")) {        //aus dieser Datei wird gelistet
    while (false !== ($file readdir($handle))) {
    if (
    $file != "." && $file != ".." && $file != "index.php" && $file != "neuesprojekt"



    //Auasschlussliste


    //Ausgabe der Projektliste
        
    echo "
                          <option>
    $file</option>";         
    //Ende der Projektliste
            
    }
        }
        
    closedir($handle);
    }
    $filenumber substr($proj03);
    $filename   substr($proj4);
                echo 
    "
                                  
                    </select>
        
        <br />
    <input type=\"text\" name=\"rennum\" maxlength=\"3\" value=\"
    $filenumber\" size=\"46\">
          <input type=\"submit\" name=\"Submit\" value=\"erstellen\">
          <input type=\"hidden\" name=\"pwd\" value=\"
    $pwd\">
          <input type=\"hidden\" name=\"projsort\" value=\"projsort\">
        </form>
        <br />"
    ;
        
    $formfilenumber sprintf("%03d",$rennum); // macht aus 1 -> 001
          
    if ($handle opendir("./projekte")) {        //aus dieser Datei wird gelistet
          
    while (false !== ($file readdir($handle))) {
      if (
    $file != "." && $file != ".." && $file != "index.php" && $file != "neuesprojekt"
          
    //                            $filenumber = substr($file, 0, 3);
    //                            $filename   = substr($file, 4);
    //                             
          
    //Auasschlussliste
          
    //              $formfilenumber = sprintf("%03d",$filenumber); // macht aus 1 -> 001
          //Ausgabe der Projektliste
                      
    echo "
                           
    $file<br />";         
          
    //Ende der Projektliste
                  
    }
              }
              
    closedir($handle);
          }
      
    $umbproj="$formfilenumber"."_"."$filename";



      }else{
            
            if(
    rename("./projekte/$proj""./projekte/$umbproj")){
            
            
        echo
    "
          Projekt erfolgreich umsortiert
            <br />
            <br />
              <a href=\"./index.php?pwd=
    $pwd=&indexseite=admin&projsort=&unter=\">
                Nächstes Projekt umbenennen
              </a>
                <br />
                <br />
              Projekt erfolgreich sortiert"
    ;


    }else{
            echo
    "
              Achtung! Der gew&auml;hlte Projektname 
              mit der gew&auml;hlten Nummer existiert bereits!"
    ;
            }


    }
    #Ende Projekte sortieren 
    Zuletzt geändert von fx001; 25.12.2006, 17:20.
    Wer Rechtschreibfehler findet, darf sie behalten

  • #2
    1. formatiere den code doch bitte vernünftig.
    2. error_reporting hoch
    3. verwende superglobale arrays, verzichte auf register globals
    4. glob() statt readdir etc. ist oft übersichtlicher.
    5. problembeschreibung? "tut sich nichts" bedeutet, dass das formular nicht abgeschickt wird. ist das so?

    Kommentar


    • #3
      genau, wurde nicht abgeschickt (schließe ich daraus, dass sich garnichts am filenamen geändert hat auch auf dem webspace nicht)

      Notice: Undefined variable: rennum in /www/htdocs/w005f801/testarea/index.php on line 2084

      das ist diese hier:
      PHP-Code:
      $formfilenumber sprintf("%03d",$rennum); // macht aus 1 -> 001 
      Zuletzt geändert von fx001; 25.12.2006, 17:35.
      Wer Rechtschreibfehler findet, darf sie behalten

      Kommentar


      • #4
        html code nicht valid?

        Kommentar


        • #5
          Habs mal rauskopiert und mit anderem code probiert, da funzt <form>.

          eigentlich sollte im textfeld $filenumber stehen. Da steht aber nichts drin, deswegen ist rennum auch undefiniert, aber warum?
          Zuletzt geändert von fx001; 25.12.2006, 17:48.
          Wer Rechtschreibfehler findet, darf sie behalten

          Kommentar


          • #6
            genau, wurde nicht abgeschickt (schließe ich daraus, dass ...
            das schließt man daraus, ob der browser die seite lädt, die unter "action" angegeben wurde, oder nicht.
            verstehe aber nicht welche variable unbenannt sein soll (s.o. editiert)
            steht doch da:
            Undefined variable: rennum
            woher soll die kommen?

            Kommentar


            • #7
              1. nein, dann hat er form nicht abgeschickt

              2.eigentlich sollte im textfeld $filenumber stehen. Da steht aber nichts drin, deswegen ist rennum auch undefiniert, das verstehe ich nicht.
              Zuletzt geändert von fx001; 25.12.2006, 17:51.
              Wer Rechtschreibfehler findet, darf sie behalten

              Kommentar


              • #8
                1. nein, dann hat er form nicht abgeschickt
                dann ist der html-code nicht valid.

                fang mal wieder von vorn an: tut.php-q.net, abschnitt "formulare".

                Kommentar


                • #9
                  Also nach dem Tutlink bin ich teilweise schlauer:

                  Meiner Analyse nach liegt es daran, dass Variablen aus Funktionen später nicht mehr nach der Funktion verfügbar sind.
                  Deswegen die Fehllermeldung rennum unbenannt.

                  die value dazu, $filenumber, die ich versucht habe mit global aus der Funktion raus zu übergeben wird nicht übergeben und bleibt leer.

                  was kann ich machen, damit $filenumber funktionstüchtig übergeben wird?

                  PHP-Code:
                  <form action=\"./index.php?unter=&indexseite=admin\" method=\"post\" name=\"form3\">
                      <select name=\"proj\" style=\"width: 300px;\">"
                  ;
                                              
                  if (
                  $handle opendir("./projekte")) {        //aus dieser Datei wird gelistet
                  while (false !== ($file readdir($handle))) {
                  if (
                  $file != "." && $file != ".." && $file != "index.php" && $file != "neuesprojekt"

                  {
                  //Ausgabe der Projektliste
                      
                  echo "
                        <option>
                  $file</option>";         

                  global 
                  $filenumber$filename;
                  $filenumber substr($proj03);
                  $filename   substr($proj4);
                          }
                      }
                      
                  closedir($handle);
                  }

                              echo 
                  "
                                                
                                  </select>
                      
                        <br />
                  <input type=\"text\" name=\"rennum\" maxlength=\"3\" value=\"
                  $filenumber\" size=\"46\">
                        <input type=\"submit\" name=\"Submit\" value=\"erstellen\">
                        <input type=\"hidden\" name=\"pwd\" value=\"
                  $pwd\">
                        <input type=\"hidden\" name=\"projsort\" value=\"projsort\">
                      </form>
                      <br />"
                  ;
                      
                  $formfilenumber sprintf("%03d",$rennum); // macht aus 1 -> 001 
                  Wer Rechtschreibfehler findet, darf sie behalten

                  Kommentar


                  • #10
                    Deswegen die Fehllermeldung rennum unbenannt.
                    nein, das ist falsch, die variable war nicht bekannt, weil du sie nicht deklariert hast. für werte aus formularfeldern gibt es z.b. das superglobale array $_POST, aber auch das steht hier: http://tut.php-q.net/formulare.html

                    du verwechselst außerdem den namen und den wert des feldes.

                    Kommentar


                    • #11
                      Bitte hilf mir aus dem Dunklen,



                      Ich hab alles genau so gemacht, wies im Tut erklärt ist.

                      Zig mal ausprobiert Variablen mit $_post[] umzustellen, aber ich dreh hier ab weil ich keinen Millimeter vorwärts komme.

                      Bitte zeig mir was ich falsch mache, bzw. wie ich es anders machen muss?!?

                      PHP-Code:
                       <form action=\"./index.php?unter=&indexseite=admin\" method=\"post\" name=\"form3\">
                          <select name=\"proj\" style=\"width: 300px;\">"
                      ;
                                                  
                      if (
                      $handle opendir("./projekte")) {        //aus dieser Datei wird gelistet
                      while (false !== ($file readdir($handle))) {
                      if (
                      $file != "." && $file != ".." && $file != "index.php" && $file != "neuesprojekt"

                      {
                      //Ausgabe der Projektliste
                          
                      echo "
                            <option>
                      $file</option>";         

                              }
                          }
                          
                      closedir($handle);
                      }


                                  echo 
                      "
                                                    
                                      </select>"
                      ;
                                      
                      $filenumber substr($_post['proj'], 03);
                      $filename   substr($_post['proj'], 4);
                      echo
                      "
                          
                            <br />
                      <input type=\"text\" name=\"rennum\" maxlength=\"3\" value=\"
                      $filenumber\" size=\"46\">
                            <input type=\"submit\" name=\"Submit\" value=\"erstellen\">
                            <input type=\"hidden\" name=\"pwd\" value=\"
                      $pwd\">
                            <input type=\"hidden\" name=\"projsort\" value=\"projsort\">
                          </form>
                          <br />"
                      ;
                          
                      $formfilenumber sprintf("%03d",$rennum); // macht aus 1 -> 001 
                      Wer Rechtschreibfehler findet, darf sie behalten

                      Kommentar


                      • #12
                        $_POST (case sensitive)

                        Kommentar


                        • #13
                          Alle Variablen auf groß und kleinschreibung überprüft, $_post in $_POST.

                          Das kompl. Skript wird nicht mehr ausgeführt mit der Fehlermeldung:

                          Parse error: syntax error, unexpected $end in /www/htdocs/w005f801/testarea/index.php on line 3368

                          Das ist der Teil hier, 2 Zeile

                          <tr>
                          <td width=\"20\" height=\"20\">
                          &nbsp;
                          </td>

                          PHP-Code:
                          <form action=\"./index.php?unter=&indexseite=admin\" method=\"post\" name=\"form3\">
                              <select name=\"proj\" style=\"width: 300px;\">"
                          ;
                                                      
                          if (
                          $handle opendir("./projekte")) {        //aus dieser Datei wird gelistet
                          while (false !== ($file readdir($handle))) {
                          if (
                          $file != "." && $file != ".." && $file != "index.php" && $file != "neuesprojekt"

                          {
                          //Ausgabe der Projektliste
                              
                          echo "
                                <option>
                          $file</option>";         

                                  }
                              }
                              
                          closedir($handle);
                          }
                                  
                                      echo 
                          "
                                                        
                                          </select>"
                          ;
                                          
                                  
                          $filenumber substr($_POST['proj'], 03);
                                  
                          $filename   substr($_POST['proj'], 4);

                          echo
                          "
                              
                                <br />
                          <input type=\"text\" name=\"rennum\" maxlength=\"3\" value=\"
                          $filenumber\" size=\"46\">
                                <input type=\"submit\" name=\"Submit\" value=\"erstellen\">
                                <input type=\"hidden\" name=\"pwd\" value=\"
                          $pwd\">
                                <input type=\"hidden\" name=\"projsort\" value=\"projsort\">
                              </form>
                              <br />"
                          ;
                              
                          $formfilenumber sprintf("%03d",$rennum); // macht aus 1 -> 001 
                          Wer Rechtschreibfehler findet, darf sie behalten

                          Kommentar


                          • #14
                            Unexpected $end deutet auf nicht geschlossene Klammern hin.

                            Bei über 3000 Zeilen und deiner Art der Formatierung wünsche ich viel Spaß beim Suchen!

                            Kommentar

                            Lädt...
                            X