[RESOLU] Page blanche à l'affichage et pourtant...

Eléphanteau du PHP | 32 Messages

14 déc. 2012, 10:51

Bonjour à tous,

Je me remets au PHP petit à petit après quelques années d'absence, et j'avoue avoir perdu quelques réflexes.
Ma demande d'aide est pour vous, j'en suis sûr, très simple, mais pour moi un vrai casse tête.

Ce code m'affiche une page blanche, savez-vous pourquoi ?
Il s'agit d'une page avec un formulaire, je teste si le formulaire a été posté pour pouvoir le traiter.
<?
		if ($_SERVER["REQUEST_METHOD"] == "POST")
		{
			echo "formulaire posté";
			if !(empty($_GET["champ"])) 
			{
				echo "champ complet<br>";
			}
			else 
			{
				echo "champ incomplet";
			}		
		}	
		else 
		{
		echo "formualire";
		}	
?>
Merci beaucoup !

Eléphanteau du PHP | 32 Messages

14 déc. 2012, 11:01

Il semblerait, après mis en commentaires quelques parties du code, que ce soit cette ligne qui pose problème, vous savez pourquoi ?
 if !(empty($_GET["champ"])) 
(il y a bien un champ dans le formulaire d'origine qui porte ce nom !)

Mammouth du PHP | 702 Messages

14 déc. 2012, 11:09

on peut voir le code du formulaire stp ?

Eléphanteau du PHP | 32 Messages

14 déc. 2012, 11:13

Bien sûr : (j'avais mis "champ" dans mon exemple mais il s'agit en fait de "bet_title")
echo "<h2>Création d'un pari</h2>
	<form method=\"post\" action=\"#\" name=\"newbet\">
	<table width=\"96%\" cellpadding=\"5\" cellspacing=\"2\" align=\"center\">
		<tbody>
		<tr>
			<td width=\"25%\" align=\"left\" valign=\"top\">Titre du pari</td>
			<td align=\"left\" valign=\"top\"><input type=\"text\" name=\"bet_title\" class=\"inputtext\" value=\"\" style=\"width:285px;\" maxlength=\"255\"><br><span class=\"star\"></span></td>
		</tr>
		<tr>
			<td align=\"left\" valign=\"top\">Description</td>
			<td align=\"left\" valign=\"top\"><textarea name=\"bet_description\" class=\"inputtextarea\" style=\"width: 285px; margin: 2px 0px; height: 80px;\"></textarea><br><span class=\"star\"></span></td>
		</tr>
		<tr>
			<td align=\"left\" valign=\"top\">Date de Fin</td>
			<td align=\"left\" valign=\"top\">
			<select name=\"d2\" id=\"d2\" style=\"width:50px\">
				
				<option value=\"01\" selected=\"selected\">01</option>
					
				<option value=\"02\">02</option>
					
				<option value=\"03\">03</option>
					
				<option value=\"04\">04</option>
					
				<option value=\"05\">05</option>
					
				<option value=\"06\">06</option>
					
				<option value=\"07\">07</option>
					
				<option value=\"08\">08</option>
					
				<option value=\"09\">09</option>
					
				<option value=\"10\">10</option>
					
				<option value=\"11\">11</option>
					
				<option value=\"12\">12</option>
					
				<option value=\"13\">13</option>
					
				<option value=\"14\">14</option>
					
				<option value=\"15\">15</option>
					
				<option value=\"16\">16</option>
					
				<option value=\"17\">17</option>
					
				<option value=\"18\">18</option>
					
				<option value=\"19\">19</option>
					
				<option value=\"20\">20</option>
					
				<option value=\"21\">21</option>
					
				<option value=\"22\">22</option>
					
				<option value=\"23\">23</option>
					
				<option value=\"24\">24</option>
					
				<option value=\"25\">25</option>
					
				<option value=\"26\">26</option>
					
				<option value=\"27\">27</option>
					
				<option value=\"28\">28</option>
					
				<option value=\"29\">29</option>
					
				<option value=\"30\">30</option>
					
				<option value=\"31\">31</option>
			</select>
			<select name=\"m2\" id=\"m2\" style=\"width:101px\">
				
				<option value=\"01\" selected=\"\">Janvier</option>
					
				<option value=\"02\">Fevrier</option>
					
				<option value=\"03\">Mars</option>
					
				<option value=\"04\">Avril</option>
					
				<option value=\"05\">Mai</option>
					
				<option value=\"06\">Juin</option>
					
				<option value=\"07\">Juillet</option>
					
				<option value=\"08\">Aout</option>
					
				<option value=\"09\">Septembre</option>
					
				<option value=\"10\">Octobre</option>
					
				<option value=\"11\">Novembre</option>
					
				<option value=\"12\">Decembre</option>
			</select>
				
			<select name=\"y2\" id=\"y2\" style=\"width:55px\">
				
				<option>2008</option>
					
				<option>2009</option>
					
				<option>2010</option>
					
				<option>2011</option>
					
				<option>2012</option>
					
				<option selected=\"selected\">2013</option>
					
				<option>2014</option>
					
				<option>2015</option>
					
				<option>2016</option>
					
				<option>2017</option>
					
				<option>2018</option>
					
				<option>2019</option>
					
				<option>2020</option>
			</select>
				 à 
			<select name=\"h2\" id=\"h2\" style=\"width:50px\">
				
				<option value=\"00\" selected=\"\">00</option>
					
				<option value=\"01\">01</option>
					
				<option value=\"02\">02</option>
					
				<option value=\"03\">03</option>
					
				<option value=\"04\">04</option>
					
				<option value=\"05\">05</option>
					
				<option value=\"06\">06</option>
					
				<option value=\"07\">07</option>
					
				<option value=\"08\">08</option>
					
				<option value=\"09\">09</option>
					
				<option value=\"10\">10</option>
					
				<option value=\"11\">11</option>
					
				<option value=\"12\">12</option>
					
				<option value=\"13\">13</option>
					
				<option value=\"14\">14</option>
					
				<option value=\"15\">15</option>
					
				<option value=\"16\">16</option>
					
				<option value=\"17\">17</option>
					
				<option value=\"18\">18</option>
					
				<option value=\"19\">19</option>
					
				<option value=\"20\">20</option>
					
				<option value=\"21\">21</option>
					
				<option value=\"22\">22</option>
					
				<option value=\"23\">23</option>
			</select>
				 h</td>
		</tr>
		<tr>
			<td align=\"left\" valign=\"top\">Source Officielle</td>
			<td align=\"left\" valign=\"top\"><input type=\"text\" name=\"bet_source\" class=\"inputtext\" style=\"width:285px;\" value=\"\" maxlength=\"255\"> <br><span class=\"star\"></span></td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td align=\"left\" valign=\"top\"><input type=\"submit\" class=\"btn_search\" name=\"SubmitBet\" value=\"Go !\"></td>
		</tr>
	</tbody></table></form>"; 

Eléphant du PHP | 130 Messages

14 déc. 2012, 11:16

Ne serait il pas plus facile de fermer ta balise php et d'écrire le code html ? Tu n'aurais pas à échapper les guillemets et la coloration syntaxique dans les éditeurs serait une aide.

Mammouth du PHP | 702 Messages

14 déc. 2012, 11:17

le problème c'est que ton formulaire utilise la méthode POST et que tu tente de récupérer ton champs en $_GET essai de mettre $_POST['bet_title']

Eléphanteau du PHP | 32 Messages

14 déc. 2012, 11:20

C'est aussi con que ça...
Je pensais qu'il fallait "geter" les champs, une fois qu'ils étaient "postés".

Merci beaucoup, ça résout le problème effectivement...

Mammouth du PHP | 702 Messages

14 déc. 2012, 11:22

non, si tu utilise la méthode GEt dans ton formulaire alors ils sont transmi via l'url tu peux le constater quand il y a des paramètres dans l'url par exemple formulaire.php?champ1=test&champ2=test2

dans ce cas la tu récupère en $_GET.

En revanche si tu utilise la méthode POST alors tu récupère le tout en $_POST['nom_du_champ']