Newsgroup: it.comp.www.php
Titolo: Aggiornare una pagina

Salve NG,
Sono nuovo del gruppo :)
Devo aggiornare una pagina che visualizza un calendario mensile in base 
alla scelta dell'utente effettuata mediante 2 caselle a discesa (select). 
Ho modificato uno script esistente (cal.php3) aggiungendo una form e le 2 
select:
<form method="post" action= "./cal.php3?m=<?php echo $month; ?>&y=<?php 
echo $year; ?>"su name="form_date">
Le variabili $month e $year arrivano dalle select. Sfortunatamente quando 
premo submit la pagina non si aggiorna perche' le variabili m e y (che 
dovrebbero essere state impostate su $month e $year) risultano nulle. Se 
premo nuovamente submit allora le 2 variabili ricevono i valori che avevo 
selezionato precedentemente. In pratica prima viene eseguito cal.php3 e 
solo dopo vengono impostate le variabili m e y.
Come posso fare per risolvere il problema?
Grazie, Nicola.
P.S. posto il codice
////////////////////////////////////////////////////////////////////////
<?php
require("../api/cal.api");
//////// Language /////////////////////////////////////////////
    global $cal_txt;
    if (!isset($cal_txt))
    $cal_txt = array( "Back to main menu.");
//////////////////////////////////////////////////////////////////////
/////// Connect to mysql /////////////////////////////
$connect = db_connect();
mysql_select_db($GLOBALS["db"]);
$query = "SELECT admin_id,admin_name FROM calendar_administrators ORDER BY 
admin_name";
$result = mysql_query($query);
if( !$result ){
  echo mysql_error() . ": " . mysql_errno();
}
mysql_close($connect);
//////////////////////////////////////////////////////////////////////
?>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
  <title>calendar test</title>
</head>
<?php
 js_popup();
?>
<body bgcolor="#ffffff">
<?php
if( !$y ) $y = date("Y");
if( !$m ) $m = date("m");
$mymonth = new month($m,$y);
echo "<h3>Calendar For: $mymonth->month_name, $mymonth->year</h3><br>\n";
?>
<form method="post" action= "./cal.php3?m=<?php echo $month; ?>&y=<?php 
echo $year; ?>"su name="form_date">
  <table cellspacing="0" cellpadding="0" border="0" height="100">
    <tr>
      <td width="50" height="20" valign="top"></td>
      <td width="200" height="20" valign="top"></td>
      <td width="20" height="20" valign="top"></td>
      <td width="285" height="20" valign="top"></td>
    </tr>
    <tr>
        <td width="50" height="80" valign="top"></td>
        <td width="200" height="80" valign="top">
        <p><font face="Verdana, Arial, Helvetica, sans-serif">
           <?PHP
               echo $post_event_txt[0];
            ?>
         </font></p>
        <p>
          <select name="admin_id">
<?php
        for( $i=0 ; $i < mysql_num_rows($result) ; $i++ ){
         $row = mysql_fetch_array($result);
        echo "            <option value=\"" .$row["admin_id"] . "\">" . 
$row["admin_name"];
        echo  "</option>\n";
        }
?>
          </select>
        </p>
      </td>
      <td width="20" height="80" valign="top"></td>
      <td width="285" height="80" valign="top">
        <p><font face="Verdana, Arial, Helvetica, sans-serif">
        <b>
           <?PHP
               echo "mese";
            ?>
       </b>
     </font></p>
   <p>
<?PHP
//////////////// create month and year droplist  
/////////////////////////////////////////////
print "<select name=\"month\">\n";
$month = "1";
while ($month < 13) {
  $monname = date( "M", mktime(0,0,0,$month,1,2000) );
  // select current date
  if( $monname == date("M") )
     print "<option value=\"$month\" selected>$monname</option>\n";
  else
     print "<option value=\"$month\">$monname</option>\n";
  $month++;
}
print "</select>\n\n";
?>
           <select name="year">
            <option value="<? print date(Y) -1; ?>"><? print date(Y) -1; 
?></option>
            <option value="<? print date(Y); ?>" selected><? print date(Y); 
?></option>
            <option value="<? print date(Y) +1; ?>"><? print date(Y) +1; 
?></option>
            <option value="<? print date(Y) +2; ?>"><? print date(Y) +2; 
?></option>
 
          </select>
       <input type="submit" name="Submit" value="Ok">
   </TABLE>
</FORM>
<a href="./cal.php3?m=<?php echo $mymonth->prevmonth; ?>&y=<?php echo 
$mymonth->prevyear; ?>">Prev.</a>
  &nbsp;
<a href="./cal.php3?m=<?php echo $mymonth->nextmonth; ?>&y=<?php echo 
$mymonth->nextyear; ?>">Next.</a>
<BR>
<?php
////////////////////// Create table 
////////////////////////////////////////////
echo "<table width=\"85%\" cellpadding=\"0\" cellspacing=\"0\" 
border=\"0\">\n";
echo "<tr>\n";
echo "  <td bgcolor=\"#000066\">\n";
$mymonth->draw(array("cellspacing" => "2" , "cellpadding" => "2" ,
                      "top_row_align" => "center" , "table_height" => 
"300px" ,
                      "top_row_cell_height" => 20 , "bgcolor" => "#cccccc" ,
                      "row_align" => "left" , "row_valign" => "top" ,
                      "font_size" => "-1") );
echo "  </td>\n";
echo "</tr>\n";
echo "</table>\n";
?>
</body>
</html>
-- 
______________________________
chi va pian va san e va lontan

<BR>
Qui invece usi il get (con m e y).
----
Non ho provato, ma penso che se modifichi il form in questo modo
<form action="cal.php3">
e i nomi dei select in m e y 
dovrebbe funzionare.
-----
Bonf

 dovrebbe funzionare.
Eureka :))))
Funge, devo solo sistemare qualcosina ma ora va moooolto meglio :)
Grazie, Nicola.
