Variabele wordt gereset...

Status
Niet open voor verdere reacties.

Sven2007

Gebruiker
Lid geworden
8 feb 2007
Berichten
113
In een vorige pagina kon de gebruiker een ticket kiezen. Het ticketid is doorgegeven aan deze pagina die u hierboven ziet.

Wanneer ik ze bovenaan laat echoën is het te zien. Wanneer ik dit id echter wil invullen in de sql string $sql is deze variabele echter al leeg.

Ik merk op dat deze variabele leeg wordt nadat ik op de knop bevestig (de tweede knop) duw...

Ook met de sessie variabele had ik hetzelfde...


PHP:
<?PHP 
session_start();   // Deze moet helemaal boven aan de pagina. 
?> 

<html> 

 <head> 
 </head> 

 <body> 

 <?php 
  $ticketid= mysql_real_escape_string($_POST['opentickets']);   // mysql_real_escape_string() om sql injection te voorkomen. 

  $sql = "SELECT * FROM swtickets WHERE ticketid = '" . $ticketid . "'"; 
  $resultaat= mysql_query($sql) or die (mysql_error()); 
  $row = mysql_fetch_array($resultaat); 

  $ticketmask = $row['ticketmaskid']; 
  $ticketsubject= $row['subject']; 


  echo 'Je werkt aan het volgende ticket: ' .$ticketmask.  ' met als onderwerp: ' . $ticketsubject; 

  $_SESSION['ticketid']=$ticketid; 
  echo $_SESSION['ticketid']; 
 ?>  

 <fieldset> 
  <legend>Ga je werken aan een bestaande of nieuwe taak</legend> 
    <form method="post"> 
     <input TYPE="radio" NAME="taak-type" VALUE="bestaand">Bestaande taak 
     <input TYPE="radio" NAME="taak-type" VALUE="nieuw">Nieuwe taak 
     <input type="Submit" name="submit" value="Bevestig"> 
    </form> 
 </fieldset> 

 <?php 
 if($_POST['submit'] == "Bevestig") 
  { 
    echo $_SESSION['ticketid']; 
            
    if ($_POST['taak-type'] == "bestaand") 
     { 
       ?>  
       <form method="post"> 
        <fieldset> 
        <legend>Kies de gewenste taak:</legend> 
         <label for="bestaandetaken">Bestaande taken:</label> 
          
          <?php 
           $sql = "SELECT * FROM ittaken WHERE Ticket = '" . $ticketid . "'"; 
           $res = mysql_query($sql)or die("Ongeldige query: " . mysql_error()); 
           echo $sql; 
          ?>  

         <select name="bestaandetaken"> 
        
         <?PHP 
         while($resultaat= mysql_fetch_array($sql)) 
          { 

            echo '<option value="' .$resultaat['TaakID'].'">'; 
            echo $resultaat['Taaknaam']; 

            echo '</option>'; 
           
          } 
         ?> 
        
         </select> 
         <input type="Submit" name="doorgaan" value="Doorgaan"> 
         </fieldset> 
         </form> 

         <?php 
     } 
  } 
 ?>  
 </body> 
</html>
 
Hoi,

Je kunt een verborgen veld met je id wegzetten:
<input TYPE="hidden" NAME="id" VALUE="<?php echo $_SESSION['ticketid']; ?>" >
Om daarna met $_POST['id']; je id weer op te halen.

Ik hoop dat je hier verder mee kunt komen.
Succes ermee.

Fred
 
Een sessievariabele via een hidden field doorgeven is echt onzin, daarmee ondermijn je het hele idee achter sessies.

Je kunt wel die POST-waarde steeds in een hidden stoppen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan