PHP - what is wrong here? -
i'm making car rental system in school , have run issue cannot fix.
when have completed query ask cars matching users search have buttun can click rent car , redirects them page. lets want rent ferrari f12 , click on rent. when other page says "rent opel corsa" no matter car choose. silly oversight on side.
here search function
function søk(){ define('db_host', 'db-kurs.hit.no'); define('db_name', 'v15gdb1'); define('db_user','v15g1'); define('db_password','pw1'); $con=mysql_connect(db_host,db_user,db_password) or die("kunne ikke koble til mysql: " . mysql_error()); $db=mysql_select_db(db_name,$con) or die("kunne ikke koble til mysql: " . mysql_error()); $sql = mysql_query("select * biler sted= '$_post[by]' , merke = '$_post[biler]'"); $resultat = $sql; $mld = "du har valgt å søke etter en <b>$_post[biler]</b> <b>$_post[by]</b>."; if ($_post['by'] == 'alle'){ $sql = mysql_query("select * biler merke = '$_post[biler]'"); $resultat = $sql; $mld = "du har valgt å søke etter en <b>$_post[biler]</b> <b>alle</b> byer."; } if ($_post['biler'] == 'alle'){ $sql = mysql_query("select * biler sted= '$_post[by]' "); $resultat = $sql; $mld = "du har valgt å søke etter <b>alle</b> bilene <b>$_post[by]</b>."; } if ($_post['by'] == 'alle' , $_post['biler'] == 'alle'){ $sql = mysql_query("select * biler"); $resultat = $sql; $mld = "du har valgt å søke etter <b>alle</b> bilene <b>alle</b> byene."; } echo "<div id='søkmld'>$mld husk @ du må logge inn å leie en bil.</div>"; while($row = mysql_fetch_array($resultat, mysql_assoc)) { $merke = $_session['merke'] = $row['merke']; $modell = $_session['modell'] = $row['modell']; $reg = $row['regnr']; $pris = $row['dagspris']; $sted = $row['sted']; $status = $row['erledig']; $bilde = $row['bilde']; $_session['name'] = $merke. " " .$modell; echo" <div id='bilsøk'> <div id='biltype'><h3> $merke $modell</div> <div id='lei'> <form method='post' action='leibil.php' name='leibil'>"; if(isset($_session['brukerid'])){ echo"<input type='submit' value='lei nå' name='lei $merke $modell'> </div> <div id='bilsøktxt'> <table> <tr> <td>regnr:</td> <td>$reg</td> </tr> <tr> <td>pris:</td> <td>$pris</td> </tr> <tr> <td>sted:</td> <td>$sted</td> </tr> <tr> <td>status:</td> <td>"; if ($status == 1){ echo'ledig';} if ($status == 0){ echo'utleid';} echo "</td> </tr> </table> </div> <div id='søkimg'><center><img src='images/cars/$bilde.jpg'></center></div> </div> "; } }}
and here div on page redirected to:
<div id="hoved"> <?php echo"<h1>lei $_session[name]</h1>" ?> <?php status(); ?> <hr/> </div>
the status() function set know.
@dbinns66 correct, inconsistent session , post variables , cause problems.
also, stab in dark here...
when do:
while($row = mysql_fetch_array($resultat, mysql_assoc))
what happens if have more 1 row?
lets query returns 2 rows. when do:
$merke = $_session['merke'] = $row['merke']; $modell = $_session['modell'] = $row['modell']; ... $_session['name'] = $merke. " " .$modell;
$_session['name'] contain make , model of car in last row of query (in case, row 2).
anyway...
to fix this, try adding:
... echo"<input type='submit' value='lei nå' name='lei $merke $modell'> <input type='hidden' value='$merke $modell' name='makeandmodel'> ...
in redirected page (leibil.php):
<div id="hoved"> <?php echo"<h1>lei " . $_post['makeandmodel'] . "</h1>" ?> ...
close form in first echo statement:
... <div id='søkimg'><center><img src='images/cars/$bilde.jpg'></center </div> </form> ...
Comments
Post a Comment