webForumDet fria alternativet

Variabel har inget värde efter form

4 svar · 302 visningar · startad av raki

rakiMedlem sedan jan. 2003137 inlägg
#1

När jag klickar på submit första gången får inte year och month något värde, andra gången man klickar däremot får den sitt värde.

Nån som vet vad jag kan göra?

Det funkar ju om jag sättre method="get" men då skickar den ju med allt, ser ut såhär då:
?year=2001&month=01&visa.x=30&visa.y=10

koden:

										<table border="0" cellspacing="0" cellpadding="0">
                                            <form action="?visa=yes&year=<?=$year?>&month=<?=$month?>" method="post">
                                              <tr> 
                                                <td>&Aring;r:
												<?php
												$date = date("Y");
												
												echo "<select name=\"year\">";
												
												for ($i = 2001; $i <= $date; $i++) {
												echo "<option value=\"$i\">$i</option>";
												}
												echo "</select>";
												$sortera = "yes"
												?> 
												</td>
                                                <td>M&aring;nad:
												<select name="month">
												<option value="01">Januari</option>
												<option value="02">Februari</option>
												</select></td>
												<td><input name="visa" id="visa" type="image" src="img/content_submit_skicka.gif"></td>
                                              </tr>
                                            </form>
                                          </table>
										  </td>
                                        <td>&nbsp;</td>
                                      </tr>
                                      <tr> 
                                        <td width="3">&nbsp;</td>
                                        <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                            <?php
										include("_phpstyles/php_styles.php");
										
										if($visa == "yes") {
										$sql = mysql_query("SELECT *,DATE_FORMAT(datum, '%Y-%m-%d (%H:%i)') as tid FROM nyheter WHERE DATE_FORMAT(datum,'%Y')='{$_GET['year']}' AND DATE_FORMAT(datum,'%m')='{$_GET['month']}'");
										}else{
										$sql = mysql_query("SELECT *,DATE_FORMAT(datum, '%Y-%m-%d (%H:%i)') as tid FROM nyheter ORDER BY id DESC limit 3");
										}
											while ($row = mysql_fetch_array($sql)) {
												$id		= $row['id'];
												$rubrik	= $row['rubrik'];
												$text	= $row['text'];
												$email	= $row['email'];
												$tid	= $row['tid'];
												$namn	= $row['namn'];
								
											$text 	= styles($text);
											?>
                                            <tr> 
                                              <td><img src="img/content_icon_paper.gif" width="7" height="9"><span class="rubrik"> 
                                                <?=$rubrik?>
                                                </span></td>
                                              <td>
                                                <?=$tid?>
                                              </td>
                                            </tr>
                                            <tr> 
                                              <td colspan="2"><?=$text?></td>
                                            </tr>
                                            <tr> 
                                              <td height="10" colspan="2">&nbsp;</td>
                                            </tr>
                                            <? } ?>
                                          </table>
PeeerMedlem sedan mars 20025 907 inlägg
#2
<form action="?visa=yes&year=<?=$year?>&month=<?=$month?>"

$month och $year har ju inget värde innan formuläret postats. De hämtar sina värden ifrån just formuläret, och kan således inte ha några värden innan det är postat. Vill du ha ut de värdena men inte använda method="get" så är det nog ett javascript du söker.

rakiMedlem sedan jan. 2003137 inlägg
#3

Jag löste det :bire

@ndersMedlem sedan juni 200032 969 inlägg
#4

raki skrev:

Jag löste det :bire

Och hur?

Problemlösningar skall återvinnas. :)

rakiMedlem sedan jan. 2003137 inlägg
#5

Ändrade dessa saker:

<form action="index.php" method="post">
<?php
if(!$year && !$month) {
	$sql = mysql_query("SELECT *,DATE_FORMAT(datum, '%Y-%m-%d (%H:%i)') as tid FROM nyheter ORDER BY id DESC limit 3");
	}else{
	$sql = mysql_query("SELECT *,DATE_FORMAT(datum, '%Y-%m-%d (%H:%i)') as tid FROM nyheter WHERE DATE_FORMAT(datum,'%Y')='{$_POST['year']}' AND DATE_FORMAT(datum,'%m')='{$_POST['month']}'");
	}
	if (mysql_affected_rows() == 0) {
		echo "<tr>";
		echo "<td>Inga nyheter hittades!</td>";
		echo "</tr>";
		}	
											
		while ($row = mysql_fetch_array($sql)) {
			$id		= $row['id'];
			$rubrik	= $row['rubrik'];
			$text	= $row['text'];
			$email	= $row['email'];
			$tid	= $row['tid'];
			$namn	= $row['namn'];
								
			$text 	= styles($text);
?>
123 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)