Problem mit Variablenübergabe bei Radiobuttons

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

  • Problem mit Variablenübergabe bei Radiobuttons

    Hallo

    ich möchte gern eine Webseite programmieren, wo man Bilder bewerten kann. Die Daten zu den Bildern sind in einer MySql Datenbank abgelegt

    folgenden Code hab ich schon:
    PHP-Code:
    <html>
    <head>

    <?php
      
    function db_connect()
      {
        
    // Datenbank öffnen
        
    $db = @mysql_connect('localhost''root''') or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden");
        
    mysql_select_db("ba_students",$db);
      }


      function 
    zeige_bild($bildindex)
      {
        
    $sql_datei "SELECT datei FROM auswertung WHERE id='$bildindex'";
        
    $result mysql_query($sql_datei);
        
        
    $dateiname mysql_result($result0"datei");
        
        echo (
    "Hier soll später das Bild aus der Datei $dateiname stehen! <br>");
      }


      function 
    zeige_bewertungen($bildindex)
      {
        
    $sql    "SELECT * FROM auswertung WHERE id='$bildindex'";
        
    $result mysql_query ($sql);

        
    $akt_name mysql_result($result,0,"name");
        
    $akt_wertung mysql_result($result,0,"wertung");
        
    $akt_anz_bew mysql_result($result,0,"w_anzahl");

        print 
    "<br><center>$akt_name hat derzeit einen Vote von $akt_wertung bei insgesamt $akt_anz_bew Bewertungen.</center>";
      }

      function 
    anz_id_bestimmen()
      {
        
    db_connect();
        
    // Bestimmen wie viele Datensätze vorhanden sind
        
    $sql_anzahl_id "SELECT id FROM auswertung";
        
    $anzahl_id mysql_num_rows(mysql_query($sql_anzahl_id));
        return 
    $anzahl_id;
      }  
        

      if ((isset(
    $newindex)) && (isset($vote)))
      {
        
    $max_datensatz anz_id_bestimmen();
        
    //den übergebenen Vote erstmal anzeigen lassen - das speichern sollte dann kein Thema mehr sein
        
    echo("es wurde der Vote $vote gespeichert<br>");
        if (
    $newindex == $max_datensatz)
        {
          
    $index=1;
        }
        else
        {
          
    $index $newindex 1;
        }
      }
      
    //else zweig soll nur beim ersten Aufruf durchlaufen werden
      
    else
      {
        
    $anzahl anz_id_bestimmen();
        
    //Startindex beim ersten Aufruf durch Zufall bestimmen
        
    $index mt_rand() % $anzahl 1;
      }

    ?>


    </head>
    <body>


    <?php
      
      zeige_bild
    ($index);

      
    zeige_bewertungen($index);



    // Eingabeformular
    echo "<form action=index.php3?newindex=$index&vote=$newvote method=POST>\n";
    echo 
    "<center><input type=radio name=newvote value=1 > 1&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
    echo 
    "<input type=radio name=newvote value=2 > 2&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
    echo 
    "<input type=radio name=newvote value=3 > 3&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
    echo 
    "<input type=radio name=newvote value=4 > 4&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
    echo 
    "<input type=radio name=newvote value=5 > 5&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
    echo 
    "<input type=radio name=newvote value=6 > 6";
    echo 
    "<br><br><input type='submit' name=gesendet value=bewerten></center>\n";

    //mysql_close($db);    

    ?>

    </body>
    </html>
    das Problem, was ich jetzt habe ist, daß wenn ich auf bewerten klicke für newvote nix übergeben wird - das seh ich auch in der URL.
    Erst beim zweiten mal auf bewerten klicken wird der Wert übergeben, der eigentlich beim ersten Vote hätte übergeben werden sollen und so setzt sich das permanent fort - also es wird immer der Wert übergeben, der eigentlich beim vorhergehenden abschicken hätte übergeben werden sollen.
    Was hab ich falsch gemacht?

  • #2
    zuerst schreibe dies als hidden-field in das FORM

    newindex=$index
    vote=$newvote

    und dann verwendet man im html auch anführungszeichen.
    PHP-Code:
    echo "<form action=\"index.php3\" method=\"POST\">\n"
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar

    Lädt...
    X