[RESOLU] mon message d'erreur ne s'affiche pas

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 : [RESOLU] mon message d'erreur ne s'affiche pas

Re: mon message d'erreur ne s'affiche pas

par ytzmi » 25 janv. 2017, 20:02

merci pour cette réponse

j'ai clarifier par un exit et un retour à la page précédente.
ce n'est pas très heureux mais ça ira

Re: mon message d'erreur ne s'affiche pas

par or 1 » 23 janv. 2017, 21:46

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
cette ligne est exécutée dans les 2 cas, ce qui ne me parait pas une bonne idée. quand $erreur comprend quelque chose, le die se déclenche donc il ne s'affichera jamais vu que la suite du code ne s’exécute pas.

mon message d'erreur ne s'affiche pas

par ytzmi » 23 janv. 2017, 21:29

bonjour

tout fonctionne sauf que mon message dit d'erreur ne s'affiche pas, disant que l'enregistrement a été effectuée.
<!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">

<?php

	// on se connecte à notre base
				mysql_connect ("localhost", "bdd", "mdp");
				mysql_select_db ("table");	
								
if(isset($_POST['forminscription']))
	{	
		$page = htmlspecialchars($_POST['page']);
		$urlpage = htmlspecialchars($_POST['urlpage']);			
		if(!empty($_POST['page']) AND !empty($_POST['urlpage']))	
			
			{
				$sql = "INSERT INTO table VALUES ('','" . $page . "','" . $urlpage . "')";
			
			}
			else
			{
				$erreur = "la page a été enregistrée";
			}
				// on lance la requête et on impose un message d'erreur
				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
		// on ferme la connexion à la base de données
				mysql_close();
	}				
	
				
?>


<html>
<head>
	<title>Enregistrement page</title>
	<meta charset="utf-8" />
</head>

<body>

<div align="center">Enregistrer une page

<br /><br />

<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>">
	<table>
		<tr>
		<td align="right"><label for="page">Nom de la page : </label>
		</td>
		<td align="right"><input type="text" placeholder="entrer le nom de la page" name="page" size="40" value="<?php if(!empty($_POST['page'])) : echo htmlspecialchars($_POST['page'], ENT_QUOTES); endif; ?>" />
		</td>
		</tr>
		<tr>
		<td align="right"><label for="urlpage">adresse url de la page : </label>
		</td>
		<td align="right"><input type="text" placeholder="entrer l'url" name="urlpage" size="40" value="<?php if(!empty($_POST['urlpage'])) : echo htmlspecialchars($_POST['urlpage'], ENT_QUOTES); endif; ?>" />
		</td>
		</tr>
	</table>
	<br /><br />
		<input type="submit" value="J'ajoute la page" name="forminscription">
</form>
<?php
	if(isset($erreur))
	{
	echo "la page a été enregistrée";
	}


?>
</div>

</body>

</html>
j'ai essayé le PDO, mon serveur est free, ça ne fonctionne pas...

merci pour votre aide et surtout votre oeil avertit.