Problem mit Werteübergabe aus Formular

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

  • Problem mit Werteübergabe aus Formular

    Hallo Leute,

    ich habe mir ein tabellarisches Formular angelegt mit den Feldern text[0] ... text[5]. der inhalt soll dann formatiert und in einen string übergeben werden.
    hierzu habe ich mir folgendes ausgedacht:
    PHP-Code:
    $j=0// initalisierung der variable
    for($i=0;$i<=5;$i++)
    {
        if (
    strlen($text[$i]!=0)) // wenn im formular nichts eingetragen wurde, dann generiere auch keien zeile
        
    {
        
    $ticker_file .= 'text['.$j.']="'.$text[$i].'" , link['.$j.']="javascript:void()"'."\n";
        
    $j++; //hochzählen der variable, damit die reihenfolge hier eingehalten wird
        
    }

    das funktioniert wunderbar, wenn ich Zahlen im formular eintrage. aber sobald buchstaben dabei sind - nichts.

    kann mir jemand helfen, wo ich den fehler habe?

    thx jj

  • #2
    hi
    ist hier nich ein klammer fehler?
    > if (strlen($text[$i]!=0))

    sonst weiss ich leider nicht
    ...mind your brain
    need a free bulletin board:
    JBB - laufendes Board

    Kommentar


    • #3
      also ne Klammer fehlt da keine, würde ja nen Parseerror ausgeben...

      aber wieso verwendest du verschiedene schreibweisen und i/j?

      poste mal, wie $ticker_file nachher aussehen soll. also wenn dus in der seite ausgibst (beispielcode)

      Kommentar


      • #4
        ein klammerfehler sollte es nicht sein; das problem tritt nur auf, wenn der eintrag nicht mit einer zahl beginnt
        problematisch ist: test, test 123 ...
        ok ist: 123 456, 1 test ...

        die funktion strlen sollte mir doch die länge des strings zurückgeben, irgendwas stimmt da nicht.

        habe jetzt die zeile in
        PHP-Code:
        if ($text[$i]!=""
        abgeändert . funktioniert jetzt.

        ich raff aber trotzdem nicht, warum das ander nicht geht.

        Kommentar


        • #5
          nimm besser: empty()

          außerdem:
          warum i+j
          warum verschiedene schreibweisen
          warum keine $_POST[var]

          Kommentar


          • #6
            mit dem script erstelle ich eien javascriptdatei die einen ticker steuert.
            da ich die seite nur für freunde erstelle, die sich aber um den inahlt
            kümmern soll, habe ich mir das mit dem eintragen per web ausgedacht.

            in der javascript datei soll dann
            PHP-Code:
            text[0]="j" link[0]="javascript:void()"
            text[1]="jochen" link[0]="javascript:void()"
            text[2]="3 jochen  " link[0]="javascript:void()"
            text[3]="123" link[0]="javascript:void()"
            text[4]="j 123456" link[0]="javascript:void()"
            text[5]="8" link[0]="javascript:void()" 
            stehen

            hier mit beispieldaten - hab ja noch mit ein paar schwierigkeiten zu kämpfen.

            $i und $j benutze ich um fehler so gering wie möglich zu halten. wird in der
            zeile 3 des formulares nichts eingetragen, dann wurde in der
            javascriptdatei text[3] nicht existieren und die folgenden nachrichten nicht ausgegeben.

            Kommentar


            • #7
              $_post(var) hatte ich benutzt, bekam allerdings nur "array" als ausgabe
              ich bringe mir bis jetzt alles selbst bei, bzw. frage in eurem forum ist halt ein hobby, das mit empty() teste ich mal aus

              Kommentar


              • #8
                Re: Problem mit Werteübergabe aus Formular

                PHP-Code:
                $j=0// initalisierung der variable
                for($i=0;$i<=5;$i++)
                {
                    if (
                strlen($text[$i])!=0// Klammerung!    {
                    
                $ticker_file .= 'text['.$j.']="'.$text[$i].'" , link['.$j.']="javascript:void()"'."\n";
                    
                $j++; //hochzählen der variable, damit die reihenfolge hier eingehalten wird
                    
                }


                if (strlen($text[$i]!=0)) hier uebergibtst du der Funktion strlen() folgendes Argument: $text[$i]!=0 ... und damit kann strlen() nix anfangen und liefert nix zurueck womit die Bedingung nicht wahr ist.

                Kommentar


                • #9
                  okay, so langesam sehe ich denn sinn.

                  nichts desto trotz solltest du die $_POST variable nutzen. Und natürlich wie gesagt empty.

                  andererseits würde ich evtl hingehen und prüfen, ob alle felder ausgefüllt wurden. oder das js so dynamisch schreiben, dass es nicht auf die korrekte nummerierung angewiesen ist.

                  Kommentar


                  • #10
                    also doch klammerfehler

                    also da hab selbst ich zu schnell gelesen. sorry...

                    Kommentar


                    • #11
                      hab das jetzt mit !empty() hinbekommen
                      aber wie benutze ich die $_post; ist doch ein alias für $http_post_var oder?
                      nirgendwo finde ich ein beispiel, wie ich das richtig schreibe, oder benutzen
                      muss.
                      habe im formular die methode post eingetragen und es sollte auch ein
                      array mit den übergeben werten da sein, hab schon verschiedenes
                      ausprobiert -mein gröster erfolg war ein bildschirmausgabe "array"

                      was müsste ich bei meien formularfeld name=text[1] schreiben?

                      Kommentar


                      • #12
                        Wenn ich mich nicht voellig irre (unter meinem momentanen alkohol-einfluss...) :

                        PHP-Code:
                        $name[0] = $_POST['var'][0]; 

                        Kommentar


                        • #13
                          @beebob: alle achtung

                          @jochen: im Manual hast du wahrscheinlich nicht nachgesehen

                          Kommentar

                          Lädt...
                          X