Gå til innhold

Radio button insert and update


Anbefalte innlegg

Hei,

 

har et script som brukerne kan velge om de skal melde seg på, og trykke ja, el nei for om de vil delta på hekkeløp 100m.

 

Selve dette funker fint, men nå skal brukerne kunne oppdatere/endre dette får jeg det ikke helt til, el vet hvordan.

 

Noen som kan hjelpe?

 

Her er form fila:

<?Php

include "include/session.php";
include "config.php";
//////////////////////////////


?>
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title></title>

</head>

<body >
<?Php
// check the login details of the user and stop execution if not logged in
require "check.php";

// If member has logged in then below script will be execuated. 
// let us collect all data of the member 
$count=$dbo->prepare("select * from plus_signup where brukernavn='$_SESSION[brukernavn]'");
if(!($count->execute())){
echo "Database Problem ";
exit;
}else{
$row = $count->fetch(PDO::FETCH_OBJ);
}

//Henter hekk100	
 
if($row->hekk100 == "ja"){
$ckb="<input type='radio' value=ja name='ja'>Ja <input type='radio' value=nei  name='nei'>Nei";}


// One form with a hidden field is prepared with default values taken from field. 
echo "<form action='update-regeck.php' method=post>
<input type=hidden name=todo value=update-profile>

<table border='0' cellspacing='0' cellpadding='0' align=center width='30%'>
 <tr bgcolor='#ffffff' > <td colspan='2' align='center'>
<font face='verdana, arial, helvetica' size='2' align='center'> <b>Update Profile</b> 
</font></td> </tr>


<tr bgcolor='#f1f1f1'><td ><font face='Verdana' size='2' > Hekk100</td>
<td  ><input type=radio name=hekk100 value='$row->hekk100'></td></tr>


<tr bgcolor='#ffffff'><td align=center colspan=2><input type=submit value=Update></td></tr>



";


echo "</table>";	

?>
<center>

</body>

</html>

og insert fila:

<?Php

include "include/session.php";

include "config.php";
//////////////////////////////

/*
while (list ($key,$val) = each ($_POST)) {
$$key = $val;
}
*/

?>
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title></title>
</head>

<body>
<?Php
require "check.php";

$todo=$_POST['todo'];
$hekk100=$_POST['hekk100'];

// check the login details of the user and stop execution if not logged in

if(isset($todo) and $todo=="update-profile"){

//////////////////////////////////////////////////////////
$sql=$dbo->prepare("update plus_signup set hekk100=:hekk100 where brukernavn='$_SESSION[brukernavn]'");
$sql->bindParam(':hekk100',$hekk100,PDO::PARAM_STR, 25);

if($sql->execute()){
echo "<font face='Verdana' size='2' color=green>You have successfully updated your profile<br></font>";
}// End of if profile is ok 
else{
print_r($sql->errorInfo()); // if any error is there it will be posted
$msg=" <font face='Verdana' size='2' color=red>There is some problem in updating your profile. Please contact site admin<br></font>";
}// end of if else if database updation failed
}// end of if else for satus<> ok
echo $msg;
?>
<center>

</body>
</html>

Endret av Datasmurfen
Lenke til kommentar
  • 5 måneder senere...
Videoannonse
Annonse
Gjest Slettet-IHWlGMJn

Jeg forstår ikke helt hva du har problemer med her, men radio-boksene dine må i alle fall ha samme navn (og ikke ha name="ja" og name="nei").

 

Ellers vil jeg påpeke følgende:

  1. Valider HTMLen din slik at den er korrekt: http://validator.w3.org/
  2. Ikke putt variable inn i et prepared statement. Dvs:
    // Gjør det slik
    $count=$dbo->prepare("select * from plus_signup where brukernavn=?");
    $count->execute(array($_SESSION[brukernavn]))
    
    // og IKKE slik
    $count=$dbo->prepare("select * from plus_signup where brukernavn='$_SESSION[brukernavn]'");
    $count->execute()
    

Ellers så kan du se om denne koden gir deg noe (den er forsøkt å være ganske enkel og tydelig):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Hekk-test</title>
<style>
table, tr, th, td {
  border: 1px solid gray;
}
</style>
</head>

<body>

<?php

if (isset($_POST['hekk100'])) {
  $hekk100 = ($_POST['hekk100'] ? true : false);
} else {
  $hekk100 = NULL;
}

echo "<!-- " . var_export($hekk100, true) . " -->";

if ($hekk100 === true) {
  echo '<div style="color:green">Du har valgt å delta på hekk100</div>';
} elseif ($hekk100 === false) {
  echo '<div style="color:red">Du har valgt å ikke delta på hekk100</div>';
} else {
  echo '<div style="color:gray">Du har ikke valgt noe</div>';
}

?>

<form method="post">
<table>
  <tr>
    <th>Gren</th><th>Ja</th><th>Nei</th>
  </tr>
  <tr>
    <td>Hekk100</td><td><input name="hekk100" type="radio" value="1"<?php echo ($hekk100 === true ? ' checked="checked"':"") ?> /></td><td><input name="hekk100" type="radio" value="0"<?php echo ($hekk100 === false ? ' checked="checked"':"") ?> /></td>
  </tr>
</table>
<button type="submit">Submit</button>
</form>

</body>

</html>
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...