TeisL Skrevet 9. mai 2010 Del Skrevet 9. mai 2010 Hei, Jeg har denne drop-down listen på en webside: echo("Change role:\t\t<select name='idrole' OnChange='this.form.submit();'>"); echo("<option value=''>-</option>"); for($role=0;$role<count($roles);$role++) { if($users[$i]['rolename'] != $roles[$role]['rolename']) { echo("<option value='" . $roles[$role]['id'] . "'>" . $roles[$role]['rolename'] . "</option>"); } } echo("</select>"); Hvor jeg skal ha roleID (id) som value når jeg henter ut fra posten etter submit. Men dette fungerer ikke, det ser ikke ut som jeg får noe inn i den i det hele tatt... Hvis jeg prøver å sette $roles[$role]['id'] der jeg kjører 'name' så ser jeg at idene blir printet til nedtrekkslisten. men når jeg har: if(isset($_POST['idrole'])) { $sql = "UPDATE urole\n"; $sql .= "SET roleID = '" . $_POST['idrole'] . "'\n"; $sql .= "WHERE userID = '" . $_POST['userid'] . "'"; //Execute query $db->query($sql); } Så går den inn i ifen, men $_POST['id'] inneholder ikke noe... Noen som vet/ser hva som kan være feil?? Lenke til kommentar
Wackamole Skrevet 9. mai 2010 Del Skrevet 9. mai 2010 hvor setter du verdi inn i $_POST['idrole'] ? Pluss at jeg ser hverken id='something' eller name='something' i <select> parameteren. Lenke til kommentar
TeisL Skrevet 10. mai 2010 Forfatter Del Skrevet 10. mai 2010 På linje nummer 1 setter jeg navnet på selcten som er idrole: echo("Change role:\t\t<select name='idrole' onchange='this.form.submit();'>"); Har ikke brukt select mye før, men er det ikke slik man bruker det?? Lenke til kommentar
Gjest Slettet+1298342134 Skrevet 10. mai 2010 Del Skrevet 10. mai 2010 Paste kodesnutten under inni en frukt.php fil og test den, så ser du hvordan select'en din fungerer. frukt.php <?php $roles = Array( Array('id' => 0, 'name' => "Velg en frukt"), Array('id' => 1, 'name' => "Eple"), Array('id' => 2, 'name' => "Banan"), Array('id' => 3, 'name' => "Vannmelon") ); ?> Frukt: <form name="myfruits" action="frukt.php" method="post"> <select name="idrole" onChange="this.form.submit();"> <?php foreach($roles as $role) echo "<option value=\"{$role['id']}\">{$role['name']}</option>"; ?> </select> </form> Post: <pre> <?php print_r($_POST); ?> </pre> Men dette fungerer ikke, det ser ikke ut som jeg får noe inn i den i det hele tatt... Her er var_dump eller print_r din venn, skriv ut innholdet i $_POST så ser du hva du har fått fra skjemaet ditt. Så går den inn i ifen, men $_POST['id'] inneholder ikke noe... Noen som vet/ser hva som kan være feil?? Ser ikke at du har satt $_POST['id'] noen plass i koden din, så skulle tro det er en typo ute og går her enplass, mener du kanskje 'idrole'? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå