Ankündigung

Einklappen
Keine Ankündigung bisher.

Array immer 0, aber warum?

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array immer 0, aber warum?

    Hey leute, immer wenn ich auf abschicken klicke, gibt das array immer nen wert von 0 zurück.
    Und ich finde mal wieder nicht den fehler.

    kann wer helfen.

    ich glaube das hier reicht an code:
    PHP-Code:
    function gib_beschreibung($p_verbindungskennung)
    {
      $query="
        SELECT
          beschreibung,beschreibungsnummer
        FROM
          beschreibungen
        ORDER BY
          beschreibung
      ";
      $ergebnis=mysql_query($query,$p_verbindungskennung) or die(mysql_error());
      $beschreibung = array();
      while($zeile=mysql_fetch_array($ergebnis, MYSQL_ASSOC)) {
        $beschreibung[] = $zeile;
      }
      return $beschreibung;

    function formular_aufbauen($beschreibung)
    {
      ?>
      <form action="?" method="get">

          Wählen Sie ein Beschreibung:<br><br>
          <?php
          
    foreach($beschreibung as $index=>$r) {
              
    printf('<input type="checkbox" name="bs[]" value="%ld" id="beschreibung%d" /><label for="beschreibung%d">%s</label><br />',
                  
    $r['beschreibung'], $index$indexhtmlentities($r['beschreibung'])
              );
          }
          echo 
    "\n<br>";
          
    ?>
        <table>
    <tr><th><b><p align=left>Schulungsanfang:</p></b></th> <th><input type="text" name="es"></th></tr>
    <tr><th><b><p align=left>Schulungsende:</p></b></th> <th><input type="text" name="se"></th></tr>
    <tr><th><b><p align=left>Plätze:</p></b></th> <th> <input type="text" name="p"></th></tr>
    </table>
          <input type="submit" name="ausfuehren" value="Daten speichern" />
        
      </form>
    <?php
    }
    und dann:
    PHP-Code:
    function Daten_schreiben()
    {
    $verbindungskennung=datenbank_verbinden();
    $eintrag="INSERT INTO schulung (ErsterSchulungstag,  Schulungsende,
    Beschreibung, Plaetze) VALUES ('
    $_GET[es]','$_GET[se]','$_GET[bs]','$_GET[p]');";
    $eintrag=mysql_query($eintrag,$verbindungskennung);
    echo 
    "<b>Ihre Daten wurden gespeichert!</b><br><br>";
    echo 
    "<b>Sie können nun neue Daten eingeben.</b><br><br>";

    }
    function 
    daten_merken()
        {
        
    $verbindungskennung=datenbank_verbinden();
        if(
    check_eintraege($verbindungskennung)
        &&(
    check_p()))
            {
                
    daten_schreiben($verbindungskennung);
            }
        else
            {
                echo 
    "<b>Ihre Daten wurden <u>nicht</u> gespeichert!</b><br><br>";
                echo 
    "<b>Bitte versuchen sie es nochmal!!</b><br><br><br>";
            }
        } 
    lg

  • #2
    Schau Dir den Aufbau von _GET mal an.
    PHP-Code:
    function Daten_schreiben()
    {
      echo 
    '<pre>_GET='var_dump($_GET); echo '</pre>';
      
    $verbindungskennung=datenbank_verbinden(); 

    Kommentar


    • #3
      ich verstehe nicht genau was du damit sagen willst?

      Kommentar


      • #4
        aso....


        _GET=array(5) {
        ["bs"]=>
        array(1) {
        [0]=>
        string(1) "0"
        }
        ["es"]=>
        string(10) "04.12.2008"
        ["se"]=>
        string(10) "05.12.2008"
        ["p"]=>
        string(3) "667"
        ["ausfuehren"]=>
        string(15) "Daten speichern"

        hihi

        und was kann ich draus jetzt schließen, abgesehen davon das er ne 0 übermittelt...
        woher er die auch immer hat..

        lg

        Kommentar


        • #5
          $eintrag="INSERT INTO schulung (ErsterSchulungstag, Schulungsende,
          Beschreibung, Plaetze) VALUES ('$_GET[es]','$_GET[se]','$_GET[bs]','$_GET[p]');";

          $_GET['bs'] ist ein array => das geht so nicht

          Kommentar


          • #6
            sondern wie?
            meiner meinung nach ist bescheibung das array und nicht bs.
            bs ist doch nur ein name der checkbox....

            Kommentar


            • #7
              meiner meinung nach ist bescheibung das array und nicht bs
              Kuckst Du !:

              GET=array(5) {
              ["bs"]=>
              array(1) {
              [0]=>
              string(1) "0"
              }
              Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

              Kommentar


              • #8
                naja wie auch immer, wie bekomm ich das denn nu hin....

                Kommentar


                • #9
                  Zitat von Ryckmaster Beitrag anzeigen
                  naja wie auch immer, wie bekomm ich das denn nu hin....
                  Lies dir mal das thema "merdimensionale arrays" durch.
                  Du kannst $_GET['bs'] nicht in die Datenbank schreiben weil weil $_GET['bs'] ein array ist. genauso kannst du nicht einfach $_GET in die datenbank schreiben weil $_GET eben nunmal ein array ist und php nicht wüsste welchen eintrag des arrays es denn nun schreiben soll.

                  mfg

                  Kommentar


                  • #10
                    naja wie auch immer, wie bekomm ich das denn nu hin....
                    PHP: Arrays - Manual
                    http://www.php.de/php-einsteiger/489...rundlagen.html
                    http://www.php.de/php-einsteiger/468...-hinweise.html, Punkt 3.1.

                    [MOD: geschlossen]
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar

                    Lädt...
                    X