Inputfeld welches Eingaben vor dem Speichern ausliest

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

  • Inputfeld welches Eingaben vor dem Speichern ausliest

    Hallöchen...


    Mein Problem dreht sich alles in allem "nur" um die Umwandlung bzw. das auslesen vor dem Speichern in der Datenbank eines Inputfeldes.

    Es schaut folgendermassen aus:
    Durch eintragen in das Feld <INPUT TYPE="text" NAME="UserName" SIZE="20"> soll nicht nur ein UserName eingetragen werden sondern mehrere die durch "," oder ";" getrennt sind. Ich kann, dass ist ja nicht da Problem, einzeln eintragen, aber ich möchte es dem Nutzer der entstehenden Seite so erleichtern und ihn lediglich einmal eintragen und absenden lassen.

    Also dachte ich mir, es sollte doch irgendwie möglich sein, die immer unterschiedliche Anzahl UserName's so zu trennen und dann nach dem Absenden durch php auslesen und jeweils einzeln in der Datenbank speichern zu lassen.

    Ist sowas denn überhaupt möglich, und wenn ja, wie?

    Ich bedanke mich schonmal im Voraus für die Hilfe.



    medium22

  • #2
    natürlich geht das...
    PHP-Code:
    $eingabe 'foo;bar;bla und blub;keks';
    $liste explode(';'$eingabe);
    print_r($liste); 

    Kommentar


    • #3
      Hallöchen...


      Besten Dank.


      Dann werd ich mir das mal anschauen wie ich das ganze nun umbauen muss. <gg> Hab ja schon was bestehendes welches ich nun ändern/anpassen muss.



      medium22

      Kommentar


      • #4
        Hallöchen..


        So, bin nun endlich dazu gekommen daran weiter zu basteln. Und schon taucht das erste Problem auf - wie erwartet <fg>

        Der Aufruf der Seite klappt noch wunderbar, und auch das Absenden bzw. die Ausgabe derer. Aber der Eintrag in der Datenbank stimmt dann nicht wirklich. Meine Kenntnisse sind leider nicht so gross, dass ich den Fehler darin finde. <schluchz>

        Es schaut also wie folgt aus, damit ihr euch ein Bild machen könnt.

        Im Script selbst habe ich zuerst eine function deklariert die folgendemassen ausschaut:
        PHP-Code:
        function eintrag($UserName)
        {
        $sql "INSERT INTO ..... (UserId, UserName)
                  VALUES ('
        $Id', '$UserName');";
                      if (
        mysql_query($sql) or die(mysql_error())) { return true; }
                      else return 
        false;
          } 
        Im weiteren kommt dann das Formular zur Eingabe welches ich wohl kaum posten muss. Danach der eigentliche Teile des ganzen:

        PHP-Code:
        <?
        }
        if ($sent == "TRUE") 

        $eingabe = '$UserName';
        $liste = explode(';', $eingabe);

        $eintrag = "INSERT INTO .... (UserName) VALUES ('$liste')";
        $eintragen = mysql_query($eintrag);  
         
            if (eintrag($UserName) == true) {
              echo "<BR /><BR /><FONT COLOR=\"blue\">Der/die Nicks \"$liste\" wurde/n erfolgreich eingetragen.</FONT><BR />\n";
              }
        }
        ?>

        Nun.., in der Datenbank erhalte ich (bei einer Eingabe von 3 Nicknamen) zwar 4 Einträge aber nicht dass, was ich eingegeben habe, sondern





        Irgendwie.., bin ich ratlos..


        medium22

        Kommentar


        • #5
          Lass dir $eingabe nach
          PHP-Code:
          $eingabe '$UserName'
          mal ausgeben!

          http://php.net/manual/en/language.types.string.php

          Kommentar


          • #6
            Hallöchen....


            Habe mir das nun mal ausgeben lassen und dabei gleich gemerkt, dass das Script ohne den Klick auf "Eintragen" direkt zur if-schleife springt. Nur weiss ich nicht warum. Es erscheint direkt beim Seitenaufrufe das echo "Der/die Nick/s "Array" wurde/n erfolgreich eingetragen." Das "Array" ist also auch gleich das echo der vom vorposter gewünschten Ausgabe.

            Vielleicht doch ein Fehler im Forumlar? Hmz.. Ich poste auch das mal noch..

            PHP-Code:
            <FORM ACTION="jss1.php?sent=TRUE" METHOD="post">
            <
            TABLE WIDTH="80%" HEIGHT="60%" CELLPADDING="0" CELLSPACING="0" BORDER="1">
            <
            TR><TD><B>Nick/s:</B></TD><TD><INPUT TYPE="text" NAME="UserName" SIZE="20"Mehrere Nicknamen durch <B>;</Btrennen</TD></TR>
            </
            TABLE>
            <
            INPUT TYPE="submit" VALUE="Eintragen...">
            </
            FORM
            Und danach kommt direkt:

            PHP-Code:
            <?
            }
            if ($sent == "TRUE") 

            $eingabe = '$UserName';
            echo "$eingabe";
            $liste = explode(';', $eingabe);

            $eintrag = "INSERT INTO .... (UserName) VALUES ('$liste')";
            $eintragen = mysql_query($eintrag);  
             
                if (eintrag($UserName) == true) {
                  echo "<BR /><BR /><FONT COLOR=\"blue\">Der/die Nick/s \"$liste\" wurde/n erfolgreich eingetragen.</FONT><BR />\n";
                  }
            }
            ?>
            Über dem Forumlar sind auch noch Dinge aber die sind nur des UserStatus wegen, also ob eingeloggt etc, oder nicht.



            medium22

            Kommentar


            • #7
              http://php-resource.de/forum/showthr...threadid=50454
              und
              http://php-resource.de/forum/showthr...threadid=58111

              lesen, verstehen, nachvollziehen, umsetzen - dann löst du alle probleme auch allein.

              Kommentar

              Lädt...
              X