Passaggio variabili tra pagine- Aiuto per maturità 2015

gabriel18

Nuovo Utente
1 Giu 2015
4
0
0
Sto diventando pazzo, manca pochissimo all'esame e mi sento a mare... Comunque, c'è l'ennesimo problema.
Partendo da tipology.php io seleziono l'ID dell'evento dal collegamento corrispondente. In dettaglio.php vedo il singolo evento con immagine, nome e descrizione, subito dopo il singolo evento devo fare diverse selezioni con le options... Se seleziono il luogo dell'evento e metto un cinema e do invio dovrebbe farmi vedere nella successiva option le date e gli orari relativi a quello specifico evento e di quello specifico luogo/cinema... Solo che se do l'invio mi perde l'ID dell'evento "Undefined index: id in C:\xampp\htdocs\dettaglio.php" on line 75quando entra nell'isset... Ho provato a passare l'id in diversi modi, tra cui cookie session e URL ma non so come altro risolvere.... Con il cookie succede una cosa strana, apparentemente mi da l'errore "Undefined index: id in C:\xampp\htdocs\dettaglio.php on line 75" ma se ricarico la pagina mi entra nell'isset però perdendo sempre l'id che è prima dell'isset, ovvero quello del luogo che inserisco. Help :(

TIPOLOGY.PHP

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"  method="post">
      
      <label>Seleziona la categoria di evento per visualizzare tutti gli eventi :</label>
      <select name= "tipologia" class="field" value="Seleziona la tipologia dell'evento">
      <?php
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
	  
	  		$strSQL = "SELECT descrizione FROM tipologia";
			$res=mysqli_query($conn,$strSQL);
			while($row=mysqli_fetch_array($res))
			{
				echo "<option value=\"".$row["descrizione"]."\">".$row["descrizione"]."</option> \n";
             }
			 
			 
            ?>
            
      </select> 
      <input type="submit" name="invia" value="Invia">
      </form>
     
	  <?php if(isset($_POST['invia'])) {
		
	  $tipologia=$_POST["tipologia"];
		 
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
	  
	  		$strSQL = "SELECT luogo.nome AS nomeluogo, tipologia.descrizione, evento.nome AS nomeevento, evento.ID_evento AS id , evento.descrizione AS descrizioneevento, evento.immagine AS immagineevento ,svolgimento.data AS dataevento, svolgimento.ora AS oraevento
                       FROM ((luogo INNER JOIN svolgimento ON luogo.ID_luogo=svolgimento.ID_luogo) INNER JOIN evento ON evento.ID_evento=svolgimento.ID_evento) INNER JOIN tipologia ON                       tipologia.ID_tipologia=evento.ID_tipologia WHERE tipologia.descrizione LIKE '$tipologia' 
					   GROUP BY evento.nome";
					   
		    $res=mysqli_query($conn,$strSQL);
?>			
			<table border="1">
			<tr>
            <td> Immagine:</td> 
            <td> Nome evento:</td>   
            <td> Descrizione:</td> 
            <td> Acquista biglietto:</td> 

            </tr>

               <?php while($row=mysqli_fetch_array($res))
			{
				echo "<tr> \n ";
				$id=$row['id']; 
	            echo "<td>"."<img src=' ".$row["immagineevento"]." ' >"."</td> \n";
                echo "<td>". $row["nomeevento"]. "</td> \n";
				echo "<td>". $row["descrizioneevento"]. "</td> \n";			
	            echo "<td>"."<center>"."<a href='dettaglio.php?idevento=$id'>".'view'."</a>"."</center>"."</td> \n";
				echo "</tr> \n ";
			}
			
			}
?>
       </table>
DETTAGLIO.PHP

PHP:
<?php 
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
	       $idevento=$_GET['idevento'];

           setcookie("id", "$idevento");

		    $strSQL = "SELECT nome,descrizione,immagine FROM evento WHERE evento.ID_evento='$_COOKIE[id]'";
			$res=mysqli_query($conn,$strSQL);
			
			while($row=mysqli_fetch_array($res))
			{
				echo "<p>";
				echo "<td>"."<img src=' ".$row["immagine"]." ' >"."</td> \n";
                echo "<td>". $row["nome"]. "</td> \n";
				echo "<td>". $row["descrizione"]. "</td> \n";
				echo "</p>";
			} 
    ?>
         </table>
 
      <div class="box search">
      <h2>Seleziona il luogo dell'evento:<span></span></h2>
      <br>   
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>"  method="post">
      <select name= "nomeluogo" class="field" value="Seleziona luogo">
   <?php
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
	  
	  		$strSQL = "SELECT luogo.nome AS nomeluogo
                       FROM ((luogo INNER JOIN svolgimento ON luogo.ID_luogo=svolgimento.ID_luogo) INNER JOIN evento ON evento.ID_evento=svolgimento.ID_evento) INNER JOIN tipologia ON                       tipologia.ID_tipologia=evento.ID_tipologia WHERE evento.ID_evento='$_COOKIE[id]'
					   GROUP BY luogo.nome";
					   
			$res=mysqli_query($conn,$strSQL);

			while($row=mysqli_fetch_array($res))
			{
				echo "<option value=\"".$row["nomeluogo"]."\">".$row["nomeluogo"]."</option> \n";
				
             }
  ?>
      </select> 
      <input type="submit" name="send" value="Invia">
      </form>
 
      <div class="box search">
      <h2>Seleziona la data e l'ora dell'evento:<span></span></h2>
      <br/>
      
      <form action="cart.php"  method="post">
      <select name= "data" class="field" value="Seleziona Data">     
    
      <?php if(isset($_POST['send'])) {
	   
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  
	  
	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
            $nomeluogo = $_POST["nomeluogo"];
		    setcookie("nomeluogo", "$nomeluogo");

	  		$strSQL = "SELECT svolgimento.data AS data,svolgimento.ora AS ora
                       FROM ((luogo INNER JOIN svolgimento ON luogo.ID_luogo=svolgimento.ID_luogo) INNER JOIN evento ON evento.ID_evento=svolgimento.ID_evento) INNER JOIN tipologia ON                       tipologia.ID_tipologia=evento.ID_tipologia WHERE luogo.nome LIKE '$nomeluogo' AND evento.ID_evento= '$_COOKIE[id]' ";
					   
			$res=mysqli_query($conn,$strSQL);
			while($row=mysqli_fetch_array($res))
			{
				echo "<option value=\"".$row["data"].$row["ora"]."\">".$row["data"]."&nbsp".$row["ora"]."</option> \n";

            }
			}
  ?>
      </select> 
 
      <div class="box search">
      <h2>Seleziona tipo posto:<span></span></h2>
      <br/>

      <select name= "posto" class="field" value="Seleziona Posto">
      <?php
	  $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly";
	  
	  $conn= mysqli_connect("localhost","root","");
      if(!$conn){
      die('Errore durante la connessione:'.mysqli_error());}

      $db= mysqli_select_db($conn,'ticketly');
      if(!$db){
      die('Accesso al database non riuscito' . mysqli_error());}
	  
	  		$strSQL = "SELECT tipoposto.descrizione AS n
                       FROM ((luogo INNER JOIN posto ON luogo.ID_luogo=posto.ID_luogo) INNER JOIN tipoposto ON tipoposto.ID_tipoposto=posto.ID_tipoposto) GROUP BY posto.numeroposto";
			$res=mysqli_query($conn,$strSQL);
			while($row=mysqli_fetch_array($res))
			{
				echo "<option value=\"".$row["n"]."\">".$row["n"]."</option> \n";
             }
			 
			 
			$idevento=$_COOKIE["idevento"];
  ?>

     </select> 

      <div class="box search">
      <h2>Seleziona quanti posti vuoi acquistare:<span></span></h2>
      <br/>
   
    <input type="text"  name="quantita" value=1 size="30"/>
    <input type="submit" class="submit" value="Aggiungi al carrello" />    

    </form>
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
per prima cosa, scrivi la riga così
PHP:
<?php
//....
$strSQL = "SELECT nome,descrizione,immagine FROM evento WHERE evento.ID_evento=".$_COOKIE['id'];
//....
?>
poi se non sei costretto perchè usi i cookie? usa le sessioni
PHP:
<?php
session_start();
      $hostname="localhost";
      $username="root";
      $password="";
      $db="ticketly"; 
//.....
$idevento=$_GET['idevento'];
$_SESSION['id']=$idevento;
$strSQL = "SELECT nome,descrizione,immagine FROM evento WHERE evento.ID_evento=".$_SESSION['id'];
//....
?>
poi per verificare le varibili usa var_dump($nome_variabile) posizionto opportunamente così capisci dove sta l'errore, una volta risolto lo togli
comunque riguarda entrambi gli script, se fossi il tuo prof ti darei 5------------
 

gabriel18

Nuovo Utente
1 Giu 2015
4
0
0
Ho usato i cookie perchè tra virgolette sembrano "passare" la variabile al successivo isset. Con le sessioni non va. :( Undefinite index...