-perchè, nonostante imposti il valore 'error_reporting = E_ALL & ~E_NOTICE' mi vengono mostrate delle righe tipo 'Notice: Undefined variable: titolo in c:\programmi\easyphp1-8\www\prenotazione.php on line 96'?
-cosa significa 'Notice: Undefined index: submit in c:\programmi\easyphp1-8\www\prenotazione.php on line 17'?
-quando costruisco un modulo di auto invio in cui compare un campo di scelta 'select', nella parte relativa all'html, come mi devo comportare?
-ho l'impressione che il db non venga interrogato!?! cosa non va?
di seguito riporto il codice... grazie
<?php
$uni = "uni";
$localhost = "localhost";
$utente = "root";
//viene aperta una connessione e si seleziona un db
mysql_connect($localhost, $utente) or die("Connessione non riuscita: " . mysql_error());
mysql_select_db($uni) or die("Selezione del database non riuscita");
//se il modulo è stato inviato vengono effettuate le modifiche
if($_POST['submit']=='Invio'){
$titolo = $_POST['titolo'];
$orario = $_POST['orario'];
$num_biglietti = $_POST['n_biglietti'];
$query_2 = "SELECT count(biglietto_id)
FROM Biglietto Sala Film
WHERE s_num_posti_liberi >= $num_biglietti AND titolo = $titolo AND orario_inizio = $orario";
$result_2 = mysql_query($query_2);
$risultati_in_array = mysql_fetch_row($result_2);
$esito = $risultati_in_array[0];
//verifica se i biglietti sono disponibili o già prenotati
if ($esito == 0){
exit("non ci sono più biglietti a disposizione per lo spettacolo selezionato :-(
è possibile riprovare con un altro spettacolo");
}
if ($esito < $num_biglietti){ //?
exit("il numero di biglietti che si vuole prenotare è superiore al numero di
biglietti disponibili :-(
prego effettuare una nuova scelta con un numero inferiore di biglietti");
}
//vengono effettuati gli aggiornamenti
if ($esito >= $num_biglietti){
$i = 0;
while ($i < $num_biglietti){
$query = "UPDATE Sala
SET s_num_posti_liberi = s_num_posti_liberi - 1,
s_num_posti_prenotati = s_num_posti_prenotati + 1";
$result = mysql_query($query);
$i = $i +1;
$record_modificati = $record_modificati + mysql_affected_row();
}
}
if (! $record_modificati == $num_biglietti){
error_log(mysql_error());
$messaggio = '
la sua prenotazione non è andata a buon fine :-( riprovi</P>';
} else{
$messaggio = '
la sua prenotazione è andata a buon fine :-)</P>';
}
}
//rappresentare la scelta effettuata
if ($titolo == 0){
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"0\" checked>La Guerra Dei Mondi
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"0\">LaGuerra Dei Mondi
\n";
}
if ($titolo == 1){
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"1\" checked>Harry Potter
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"1\">Harry Potter
\n";
}
if ($titolo == 2){
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"2\" checked>La Marcia Dei Pinguini
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"titolo\" VALUE=\"2\">La Marcia Dei Pinguini
\n";
}
if ($orario == 0){
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"0\" checked>15:00
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"0\">15:00
\n";
}
if ($orario == 1){
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"1\" checked>17:00
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"1\">17:00
\n";
}
if ($orario == 2){
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"2\" checked>19:00
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"2\">19:00
\n";
}
if ($orario == 3){
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"3\" checked>21:00
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"3\">21:00
\n";
}
if ($orario == 4){
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"4\" checked>23:00
\n";
} else {
$radio_string .= "<INPUT TYPE=radio NAME=\"orario\" VALUE=\"4\">23:00
\n";
}
switch ($num_biglietti){
case 1: $select_string .= "<OPTION VALUE=\"1\" SELECTED>1
\n";
break;
case 2: $select_string .= "<OPTION VALUE=\"2\" SELECTED>2
\n";
break;
case 3: $select_string .= "<OPTION VALUE=\"3\" SELECTED>3
\n";
break;
case 4: $select_string .= "<OPTION VALUE=\"4\" SELECTED>4
\n";
break;
case 5: $select_string .= "<OPTION VALUE=\"5\" SELECTED>5
\n";
break;
case 6: $select_string .= "<OPTION VALUE=\"6\" SELECTED>6
\n";
break;
}
//modulo html
$thispage = $_SERVER['PHP_SELF'];
$formpage = <<<FORMPAGE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//IT">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<TITLE>MULTISALA CINEMATOGRAFICA UNI</TITLE>
</HEAD>
<BODY LANG="it" BGCOLOR="#E6E6FA" LEFTMARGIN="10" RIGHTMARGIN="10" TEXT="#000000">
<P ALIGN="center">
[img]sfondo.bmp[/img]
</P>
<HR>
<FONT SIZE="4" FACE="tahoma">
Qui si possono <U>prenotare</U> i biglietti relativi ai film in programmazione.
Per effettuare la procedura di prenotazione, selezionare, nella parte
sottostante della pagina, i campi in modo opportuno e premere il tasto "Prenota".
</FONT>
<HR>
print($messaggio);
<TABLE BORDER="1" CELLPADDING="10" WIDTH="300" HEIGHT="200">
<TR>
<TD>
<FONT SIZE="2" FACE="tahoma">
<FORM ACTION="$thispage" METHOD="post">
<U>titolo e orario film</U>
$radio_string
<U>numero biglietti da prenotare</U>
<LEGEND>numero biglietti</LEGEND>
<SELECT NAME="num_biglietti">
<OPTION VALUE=1>1</OPTION>
<OPTION VALUE=2>2</OPTION>
<OPTION VALUE=3>3</OPTION>
<OPTION VALUE=4>4</OPTION>
<OPTION VALUE=5>5</OPTION>
<OPTION VALUE=6>6</OPTION>
</SELECT>
<INPUT TYPE='submit' VALUE='Invio'>
<INPUT TYPE="reset" VALUE="Cancella i dati">
</FORM>
</FONT>
</TD>
</TR>
</TABLE>
<HR>
<FONT SIZE="4" FACE="tahoma">
Se hai bisogno di aiuto, vuoi ricevere informazioni
oppure vuoi mandarci dei suggerimenti sul servizio
puoi scriverci utilizzando la finestra di testo sottostante.
Grazie.
</FONT>
<FORM NAME="richiesta_di_aiuto" ACTION="mailto:email_cinema@multisala_uni.edu" METHOD="post">
<TEXTAREA NAME="e_mail" ROWS="10" COLS="50">Può inviarci commenti, suggerimenti o richiedere aiuto scrivendo qui :-)</TEXTAREA>
<INPUT TYPE="submit" VALUE="Invia">
</FORM>
<FONT SIZE="2" FACE="tahoma">
<A TITLE="torna indietro" HREF="principale.html">Torna alla pagina iniziale
</A>.
</FONT>
</BODY>
</HTML>
FORMPAGE;
echo $formpage
?>