Formscript leitet an falsche URL weiter

Nanobox

Grünschnabel
Hi alle zusammen,

ich hab mir ein Formscript gebaut, das eine eine url weiterleiten soll. jedoch steht dann in dieser Url nicht index.php?topic=abcgefahrstoffe&cat=1&list=10&score=true, sondern index.php?ant0=1&ant1=2&ant2=3&ant3=2&ant4=3&ant5=2&ant6=1&ant7=3&ant8=1&ant9=2

weis einer von euch, was ich da falsch mache?

PHP:
<html>
    <head>
        <meta name="Content-Type" content="text/html; charset=utf-8">
        <title>Feuerwehr Leistungs&uuml;bung</title>
        <link href="style/style.css" rel="stylesheet" type="text/css">
    </head>
    <body class="twoColElsLtHdr">
        <link href="./js/jsmenu01.css" type=text/css rel=stylesheet>
        <script language="javascript" src="./js/jsmenu01cfg.js"></script>
        <script language="javascript" src="./js/jsmenu0.js"></script>

        <div id="container">
            <div id="header">
                <h1>Kopfzeile</h1>
            </div>
            <div id="sidebar1">
                <h3>Men&uuml;</h3>
                <div id=jmbti_div></div>
            </div>
                <div id="mainContent">
                    <h1> Hauptinhalt </h1>
                    <?php

                        include('db.php');

                        $sql = "select * from ".$_GET['topic']." where `cat` = ".$_GET['cat']."";
                            $result = mysql_query($sql);
                            $lenght  = mysql_num_rows($result);

                            for($i=0;$i<$lenght;$i++)
                            {
                                $datensatz[$i] = mysql_fetch_array($result);
                            }
                            
                        if($_GET['score'] == 'true')
                        {
                            $next = $_GET['list'] + 10;
                            for($i=$_GET['list'] - 10;$i<$_GET['list'];$i++)
                            {
                                $frage = $datensatz[$i]['frage'];
                                $ant1 = $datensatz[$i]['ant1'];
                                $ant2 = $datensatz[$i]['ant2'];
                                $ant3 = $datensatz[$i]['ant3'];
                                $loesung = $datensatz[$i]['loesung'];
                                print $frage;
                                if($loesung == 1)
                                {
                                    print '<div id="antworttrue">';
                                }else{
                                    print '<div id="antwortfalse">';
                                }
                                print $ant1;
                                print "</div><br>";

                                if($loesung == 2)
                                {
                                    print '<div id="antworttrue">';
                                }else{
                                    print '<div id="antwortfalse">';
                                }
                                print $ant2;
                                print "</div><br>";

                                if($loesung == 3)
                                {
                                    print '<div id="antworttrue">';
                                }else{
                                    print '<div id="antwortfalse">';
                                }
                                print $ant3;
                                print "</div><br>";
                            }
                            print '<a href="index.php?topic='.$_GET['topic'].'&cat='.$_GET['cat'].'&list='.$next.'&score=false"><button>Weiter</button></a>';
                        }

                        if($_GET['score'] == 'false')
                        {
                            
                            print '<form action="index.php?topic='.$_GET['topic'].'&cat='.$_GET['cat'].'&list='.$_GET['list'].'&score=true" methode="post">';
                                                        
                            for($i=$_GET['list'] - 10;$i<$_GET['list'];$i++)
                            {
                                $frage = $datensatz[$i]['frage'];
                                $ant1 = $datensatz[$i]['ant1'];
                                $ant2 = $datensatz[$i]['ant2'];
                                $ant3 = $datensatz[$i]['ant3'];
								
                                print $frage;
                                print '<div id="antwort">';
                                print '<input type="radio" name="ant'.$i.'" value="1">'.$ant1.'</input>';
                                print '</div>';
                                print '<div id="antwort">';
                                print '<input type="radio" name="ant'.$i.'" value="2">'.$ant2.'</input>';
                                print '</div>';
                                print '<div id="antwort">';
                                print '<input type="radio" name="ant'.$i.'" value="3">'.$ant3.'</input>';
                                print '</div><br>';
                            
                            }
                            print '<input type="submit" value="L&ouml;sung anzeigen"></form>';
                        }
                    ?>
                </div>
                <div id="footer">
                    Copyright Christian Heinisch 2010
                </div>
        </div>
    </body>
</html>
 
Schnell mal überflogen:
methode="post"
Da ist ein e zu viel.
method="post"

Falls das nicht ausreicht muss ich mal genauer hinsehen ;)
 
Bitte.

Wenn ich noch was anmerken dürfte:
PHP:
select * from ".$_GET['topic']." where `cat` = ".$_GET['cat']."";

Sowas (GET Parameter direkt in ein SQL statement zu übergeben) sollte man immer immer immer vermeiden.
Stichwort SQL Injection.
 
Zurück