[Résolu] page blanche et formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] page blanche et formulaire

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 16:02

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 15:41

Oui je sais qu'il faut protéger son script mais je l'ai fait justement pour y faire des injections sql et autres dessus :D (d'où l'absence totale de protection).

J'ai apparemment trouvé le coupable de ma page blanche (comme la neige dehors :lol: ) qui est :
mysql_close();
Normalement c'est toujours mieux d'y mettre cette instruction non ? est-ce vraiment grave de ne pas la mettre ?

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 14:49

Essaye comme ceic peut-être :?:
Et prend comme habitude de proteger test variable, et de faire une vérification de ton formulaire en PHP en plus de java :wink:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 <head>
 <title> Pages en localhost </title>
 <link href="style.css" rel="stylesheet"/>
 </head>

<body>
<?php

        $nom     =  $_POST['nom'];
        $prenom  = $_POST['prenom'];
        $jour    = $_POST['jour'];
        $mois    = $_POST['mois'];
        $annee   = $_POST['annee'];
        $email   = $_POST['email'];
        $dpt     = $_POST['departement'];
        $profession = $_POST['profession'];


        $SqlNom    = ((iSset($nom) && ($nom != '')) ?  mysql_real_escape_string($nom) : 'Clapton');
        $SqlPrenom = ((iSset($prenom) && ($prenom != '')) ?  mysql_real_escape_string($prenom) : 'Eric');
        $SqlJour   = ((iSset($jour) && ($jour != '')) ?  mysql_real_escape_string($jour) : '30');
        $SqlMois   = ((iSset($mois) && ($mois != '')) ?  mysql_real_escape_string($mois) : '03');
        $SqlAnnee  = ((iSset($annee) && ($annee != '')) ?  mysql_real_escape_string($annee) : '1945');
        $SqlMail   = ((iSset($email) && ($email != '')) ?  mysql_real_escape_string($email) : 'ericclaplton&#64;clapton.com');





       mysql_connect("localhost", "root", "");
       mysql_select_db("test");

       mysql_query("INSERT INTO fiche(nom, prenom, jour, mois, annee, email, dpt, grade) VALUES('".$SqlNom."', '".$SqlPrenom."', '".$SqlJour."', '".$SqlMois."', '".$SqlAnnee."', '".$SqlMail."', '".mysql_real_escape_string($dpt)."', '".mysql_real_escape_string($profession)."')");


?>

<p>
<a href="fichier.html">Retour à la fiche</a><br />
<a href="index.html" >Retour à l'index</a>
</p>


        <h1 class="centrer">Mise à jour de la fiche.</h1>

        <table class="none" width="50%" border="1" cellspacing="1" cellpadding="1" >

                <tr>
                        <td rowspan="3"><img src="photo.png" alt="Photo" /></td>
                        <td>Nom : <?php echo "$prenom $nom" ?></td>
                </tr>
                <tr>
                        <td>Date de naissance : <?php echo "$jour/$mois/$annee"?></td>
                </tr>
                <tr>
                        <td>Email : <?php echo "$email" ?></td>
                </tr>
                <tr>
                        <td>D&eacute;partement :</td>
                        <td>Informatique</td>
                </tr>
                <tr>
                        <td>Grade :</td>
                        <td><?php echo "$profession" ?></td>
                </tr>
                <tr>
                        <td>Badge :</td>
                        <td>3r1C&&#64;pt0n</td>
                </tr>

        </table>


</body>
</html>

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 14:32

C'est-à-dire ? J'ai pas trop compris

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 14:09

Place ta requete juste après tes controles :idea:

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 13:50

J'ai essayé, marche pas non plus.
		<input  type="submit" value="Valider" onClick="submit()"/>  
		<input type="reset" value="Effacer"/>
J'ai même enlevé l'appel au script Javascript.

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 13:19

Avec un type submit tu a déjà essayé :?: :wink:

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 12:48

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head> 
<link href='style.css' rel='stylesheet'>
<script language="javascript">

function verifierFormulaire(email, annee, nom, prenom){

	var verif = true;

	if (checkName(nom)){
		//alert("ok1");

		if (checkName(prenom)){
			//alert("ok2");		

			if(checkAnnee(annee)){
				//alert("ok3");
				if(checkMail(email))
					verif = false;
					document.forms.formulaire.submit();
			}		
		}

	}

	if (verif)
		alert("Un ou plusieurs champ(s) non(s) correct(s) !");
		
}


function checkMail(email) {
	if ((email.indexOf("@")>=0)&&(email.indexOf(".")>=0)) {
		alert("ok !");
		return true;
	}

	else {
		alert("Mail invalide !");
		return false;
	}
}

function checkAnnee(annee){

	var maReg = new RegExp ( "[^0-9]", "gi" ) ;
	
	if ( annee.search( maReg ) == -1 ){

		if ((annee > 1943)&&(annee < 1992)) {
			return true;
		} 
		
		else if (annee <= 1943){
			//alert("Vous etes trop vieux !");
			return false;
		}
		
		else{
			//alert("Vous etes trop jeune !");
			return false;
		}
	}
	
	else
	alert("date erronne");
}



function checkName( nom, prenom )
{
	var maReg = new RegExp ( "[^a-zA-Z-çéèàïëöüîêôû]", "gi" ) ;
	
	 if (nom.indexOf("")>=0){
		if ( nom.search( maReg ) == -1 ){
			//alert( "nom et prenom ok !!" ) ;
			return true;
	
		}
		

		else if (nom.search ( maReg ) != -1 ){
			//alert ( "errorr !" ) ;
			return false;
		}
	}
}

</script>

</head>
<body>
<h1 class="centrer">Fichier</h1>

<a href="index.html">Retour page d'accueil</a>
<table class="none" width="50%" border="1" cellspacing="1" cellpadding="1" >
	<tr>
	<td rowspan="3"><img src="photo.png" alt="Photo" /></td>
	<td>Nom : Eric Clapton</td>
	</tr>

	<tr>
	<td>Date de naissance : 30/03/1945</td>
	</tr>

	<tr>
	<td>Email : [email protected]</td>
	</tr>

	<tr>
	<td>D&eacute;partement :</td>
	<td>Informatique</td>
	</tr>

	<tr>
	<td>Grade :</td>
	<td>Technicien</td>
	</tr>

	<tr>
	<td>Badge :</td>
	<td>3r1C&&#64;pt0n</td>
	</tr>


</table>
<br />

<form name="formulaire" class="centrer" method="post" action="try.php">
	<fieldset class="champ1" class="centrer">
	<legend>Modification de la fiche</legend>
		<p>
		<label for="nom">Votre nom :</label>
		<input type="text" name="nom" id="nom" /><br />

		<label for="prenom">Votre pr&eacute;nom :</label>
		<input type="text" name="prenom" id="prenom" /><br />

		<label for="jour">Date de naissance :</label>

			<select  name="jour" id="jour" />
			<option value="01">1</option>
			<option value="02">2</option>
			<option value="03">3</option>
			<option value="04">4</option>
			<option value="05">5</option>
			<option value="06">6</option>
			<option value="07">7</option>
			<option value="08">8</option>
			<option value="09">9</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="mois" id="mois" />
			<option value="01">Janvier</option>
			<option value="02">F&eacute;vrier</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">D&eacute;cembre</option>
			</select>

		<input type="text" style="width:40px" name="annee" id="annee" /><br />

		<label for="email">Saisir email :</label>
		<input type="text" name="email" id="email"/><br />

		<label for="departement">D&eacute;partement</label>
		<select name="departement" id="departement">
			
			<option value="Informatique">Informatique</option>
			<option value="Sciences">Sciences</option>
			<option value="Arts">Arts</option>
			
		</select>

<br />
		

		<label for="profession">Profession :</label>
		<select name="profession" id="profession">

			<optgroup label="Informatique">
			<option value="Technicien">Technicien</option>
			<option value="Analyste programmeur">Analyste programmeur</option>
			<option value="Chef de projet">Chef de projet</option>				
			<option value="Administrateur">Administrateur</option>
			<option value="Webmaster">Webmaster</option>
			<optgroup label="M&eacute;decine">
			<option value="M&eacute;decin">M&eacute;decin</option>
			<option value="Infirmier">Infirmier</option>
			<option value="Dentiste">Dentiste</option>
			<option value="Chirurgion">Chirurgien</option>
		<optgroup label="Musique">
			<option value="Muscien">Musicien</option>
			<option value="Chanteur">Chanteur</option>
		</select>
		<br /><br />
		<input  type="button" value="Valider" onClick="verifierFormulaire(
		this.form.email.value, 
		this.form.annee.value,
		this.form.nom.value,
		this.form.prenom.value
		)" />  
		<input type="reset" value="Effacer"/>

		</p>
	</fieldset>
</form>




</body></html>

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 12:46

Poste le code de ton formulaire .

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 12:45

Rien qui ne s'affiche :?

Re: [Problème] page blanche et formulaire

par dunbar » 09 janv. 2010, 12:39

Et un
echo '<pre>';
print_r($_POST);
echo '</pre>';
donne quoi ?

Re: [Problème] page blanche et formulaire

par hyperyon » 09 janv. 2010, 12:15

Oui bien évidemment qu'il y a une autre page. Elle se contente juste d'envoyer les saisies de l'utilisateur sur cette page.

Tu veux que je te le poste ?

Il y a un truc qui cloche mais je ne trouve vraiment pas pourquoi j'ai cette page blanche u__u

Par contre si j'enlève ce bout de code, il y a bien quelque chose qui s'affiche...
<?php
        mysql_connect("localhost", "root", "");
        mysql_select_db("test");

        mysql_query("INSERT INTO fiche(nom, prenom, jour, mois, annee, email, dpt, grade) VALUES('$nom', '$prenom', '$jour', '$mois', '$annee', '$email', '$dpt', '$profession')");
        mysql_close();
?>

Re: [Problème] page blanche et formulaire

par Aureusms » 09 janv. 2010, 01:10

Euh $_POST est un retour de formulaire, et il est où ce formulaire sur une autre page ? Qui pointe bien sur cette page ?

[Résolu] page blanche et formulaire

par hyperyon » 08 janv. 2010, 23:48

Bonsoir,

J'ai un petit soucis concernant une de mes pages php, elle est censée m'afficher le résultat de ce qu'à saisi l'utilisateur (en plus de rajouter les données dans une BDD). Sauf que je n'ai qu'une page blanche :(

Voilà le code. J'ai effectué des echos, y a rien de rien, pourtant j'ai bien les données de l'utilisateur enregistrées dans la base de données.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 <head>
 <title> Pages en localhost </title>
 <link href="style.css" rel="stylesheet"/>
 </head>
 
<body>
<?php

$nom =  $_POST['nom'];
	$prenom = $_POST['prenom'];
	$jour = $_POST['jour'];
	$mois = $_POST['mois'];
	$annee = $_POST['annee']; 
	$email = $_POST['email'];
	$dpt = $_POST['departement'];
	$profession = $_POST['profession'];

	if ($nom == NULL)
		$nom = 'Clapton';

	if ($prenom == NULL)
		$prenom = 'Eric';

	if($jour == NULL)
		$jour = '30';
		
	if ($mois == NULL)
		$mois = '03';
		
	if ($annee == NULL)
		$annee = '1945';

	if ($email == NULL)
		$email = 'ericclaplton&#64;clapton.com';
?>

<p>
<a href="fichier.html">Retour à la fiche</a><br />
<a href="index.html" >Retour à l'index</a>
</p>


	<h1 class="centrer">Mise à jour de la fiche.</h1>
	
	<table class="none" width="50%" border="1" cellspacing="1" cellpadding="1" >
	
		<tr>
			<td rowspan="3"><img src="photo.png" alt="Photo" /></td>
			<td>Nom : <?php echo "$prenom $nom" ?></td>
		</tr>
		<tr>
			<td>Date de naissance : <?php echo "$jour/$mois/$annee"?></td>
		</tr>
		<tr>
			<td>Email : <?php echo "$email" ?></td>
		</tr>
		<tr>
			<td>D&eacute;partement :</td>
			<td>Informatique</td>
		</tr>
		<tr>
			<td>Grade :</td>
			<td><?php echo "$profession" ?></td>
		</tr>
		<tr>
			<td>Badge :</td>
			<td>3r1C&&#64;pt0n</td>
		</tr>
	
	</table>
	
<?php
	mysql_connect("localhost", "root", "");
	mysql_select_db("test");

	mysql_query("INSERT INTO fiche(nom, prenom, jour, mois, annee, email, dpt, grade) VALUES('$nom', '$prenom', '$jour', '$mois', '$annee', '$email', '$dpt', '$profession')");
	mysql_close();
?>

</body>
</html>
Merci d'avance pour votre aide !