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]
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar

                    Lädt...
                    X