Problem mit Checkbox und variable

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

  • Problem mit Checkbox und variable

    Hallo ich habe folgendes Script:
    PHP-Code:
    <form action = "<?php $PHP_SELF ?>" method
    = "post">

    <?php

    if ($cd1)
    echo 
    "TEST<p>";

    include 
    "connect.php";
    mysql_select_db($datenbank) OR die(mysql_error());
     
    $sql "SELECT name, cid FROM jos_ponygallery_catg;";
     
    $res mysql_query($sql) OR die(mysql_error());
    $num mysql_num_rows($res);

    for(
    $x=0;$x<$num;$x++)
    {
    $name mysql_result($res$x"name");
    echo 
    "<input type='checkbox' name='cd".$x."' value='v' checked>";
    echo  
    $name;
    echo 
    "<p></p>";
    }
    echo 
    "<input type = 'submit'>";
    ?>
    Allerdings haut das jetzt nicht hin ich will wenn ich eine Checkbox in dem fall die mit der variable cd1 aktiv habe das er mir den text oben ausgibt.
    Ich bekomme das aber nicht hin. Ich weiß nicht an was das liegt.
    Kann mir da jemand helfen?
    Normal müsste doch der name der Checkbox jetzt bei jedem durchlauf hochzählen. Die erste Variable $cd0 dann $cd1 dann $cd2 usw.?
    Was mach ich da falsch.

    MFG
    druckgott

  • #2
    1. register_globals
    2. nicht $PHP_SELF sondern $_SERVER['PHP_SELF']
    3. print_r($_POST);

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      habe das script jetzt erweitert!

      PHP-Code:
      <form action = "<?php $_SERVER['PHP_SELF']?>" method = "post">

      <?php

      include "connect.php";
      mysql_select_db($datenbank) OR die(mysql_error());
       
      $sql1 "SELECT cid,name FROM jos_ponygallery_catg;";
       
      $sql2 "SELECT chid, checked FROM jos_ponygallery_chro;";
       
      $res1 mysql_query($sql1) OR die(mysql_error());
       
      $res2 mysql_query($sql2) OR die(mysql_error());
      $num1 mysql_num_rows($res1);
      $num2 mysql_num_rows($res2);

      //Einsetzen der Variablen
      for ($r=0;$r<$num2;$r++)
      {

      if (
      $_POST["checkbox".$r.""] == "1")
      {
      $update "update jos_ponygallery_chro set checked = '1'";
      mysql_db_query($update$r1)
      }
      }

      //Überprüfen ob beide Tabellen die gleiche Anzahl an Zeilen haben
      $anzahl $num1 $num2;
      if (
      $anzahl <> 0)
      {
      $zeile $num2+1;
      for(
      z=0;$z<$anzahl;$z++)
      {
      $insert "insert into jos_ponygallery_chro;";
      mysql_db_query($insert$zeile0)
      }
      }

      //Checkboxen auslesen und auflisten
      for($x=0;$x<$num1;$x++)
      {
      $cid mysql_result($res1$x"cid");
      $name mysql_result($res1$x"name");
      $chid mysql_result($res2$x"chid");
      $checked mysql_result($res2$x"checked");
      if (
      $checked == 1)
      {
      $an "checked";
      }

      $name mysql_result($res1$x"name");
      echo 
      "<input type='checkbox' name='checkbox".$x."' value='1' $an>";
      echo  
      $name;
      echo 
      "<p></p>";
      }
      echo 
      "<input type = 'submit'>";
      ?>
      in zeile 22 hab ich einen fehler mit der klammer, ich weiß allerdings auch nicht genau wie ich etwas in eine Tabelle eintrage bzw. update
      kann sich das jemand mal anschauen
      Ich weiß das das mit sicherheit nicht die schnellste metode ist allerdings lerne ich es wie gesagt gerade

      mfg
      druckgott

      Kommentar


      • #4
        error_reporting() höher setzen hilft.

        Kommentar


        • #5
          was heißt error_reporting() höher setzen wo soll ich das den hinsetzen

          Kommentar


          • #6
            http://www.php-resource.de/forum/sho...threadid=50454

            Kommentar


            • #7
              diesen error bekomme ich

              Parse error: parse error, unexpected '}' in /var/www/vhosts/sss/httpdocs/chronik/script/test.php on line 22

              hoffe so ist das jetzt ok

              Kommentar


              • #8
                Wenn irgendwas unexpected ist, dann fehlt meistens kurz davor was.
                Und, vermisst du was am Ende der Zeile davor?


                OffTopic:
                Muss man in den letzten Tagen immer öfter sagen: Kinder, lernt doch bitte die Grundlagen der Syntax wenigstens so weit, dass ihr bescheuerte Parse Errors selber finden könnt ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Na dann schau dir doch Zeile 22 +- eine Zeile drüber/ drunter an, denn laut Fehlermeldung ist da eine geschweifte Klammer fehl am Platze.
                  Nieder mit der Camel Case-Konvention

                  Kommentar


                  • #10
                    ne sehe ich eben nicht geht auf 2 mal auf und 2 mal zu oder bin ich jetzt blind?

                    Kommentar


                    • #11
                      Code:
                      mysql_db_query($update, $r, 1)
                      Semikolon am Ende der Zeile fehlt. Stattdessen trifft Parser auf schließende geschweifte Klammer -> parse error mit unexpected }.
                      Zuletzt geändert von Griecherus; 14.12.2006, 18:34.
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        ... parse error, unexpected '}' ...
                        "php hat eigentlich noch etwas erwartet, die klammer kam zu früh."

                        Kommentar


                        • #13
                          ah super danke da war ich wohl blind
                          ist mir garnicht aufgefallen wegen der { klammer war ich total auf der Klammer und hab das nicht gesehen

                          Kommentar


                          • #14
                            So jetzt hab ich nochmal eine Frage er gibt mir diesen Fehler aus

                            Incorrect database name 'INSERT INTO jos_ponygallery_chro (chid, checked) VALUES ('2', '0');'

                            und die Tabelle sieht so aus:

                            Code:
                            CREATE TABLE `jos_ponygallery_chro` (
                              `chid` int(11) NOT NULL auto_increment,
                              `checked` int(11) NOT NULL default '0',
                              PRIMARY KEY  (`chid`)
                            ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
                            An was liegt das jetzt?

                            Kommentar


                            • #15
                              vielleicht daran, wass man zahlenwerte nicht in hochkommata einschließt, dagegen die spalten aber sehr wohl in backticks.

                              Kommentar

                              Lädt...
                              X