sadik21
-
Modifié par jordane45 le 25/08/2015 à 22:46
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024
-
26 août 2015 à 00:07
Bonjour,
j'ai input color ,je veux que lorsque l'utilisateur entre le couleur rouge il s'affiche sur le Wamp un petit background rouge et ainsi la meme chose pour un input de couleur vert
le probleme est que le programme que j'ai fait affiche toujours la couleur rouge n'importe quoi le input color que j'entre
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>colorcode</title>
</head>
<style>
form
{
text-align:center;
}
</style>
<body>
<form action="colorcode_post.php" method="post">
<p>
<label for="a">a</label> : <input type="color" name="a" id="a" /><br />
</textarea>
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT a FROM color');//table sql nommé color ,colonne nommé a
while ($donnees = $reponse->fetch())
$donnes['a']= "#FF0000"; //dans cette partie ou y'a le probleme
{
$donnes['a']= "#FF0000";
if ($donnes['a']== "#FF0000")
{
echo '<div style="background-color:rgb(255,0,0);width:20px;height:10px;"></div>';
}
elseif ($donnes['a']=="#149414" OR $donnes['a']=="#149414" OR $donnes['a']=="#008000" OR $donnes['a']=="#7FFF00"OR $donnes['a']=="#006400"OR $donnes['a']=="#228B22" OR $donnes['a']=="#3CB371")//il existe plusieurs dérivés de la couleur vert ,l'utilisateur peut tromper dans le choix !
{
echo '<div style="background-color:rgb(0, 153, 0);width:20px;height:10px;"></div>';//affiche le background vert
}
$reponse->closeCursor();//finir le traitement
}
?>
</body>
</html>
//page enregistement
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO color (a) VALUES(?)');
$req->execute(array($_POST['a']));
// Redirection du visiteur vers la page du minichat
header('Location: colorcode.php');//retour vers la page d'acceuil !
?>
Edit retrait de la question hors de la coloration syntaxique
EDIT2 : Séparation des deux pages de code (jordane)
Whismeril
Messages postés19028Date d'inscriptionmardi 11 mars 2003StatutNon membreDernière intervention24 avril 2024656 25 août 2015 à 22:25
Bonjour,
Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes. La seule urgence pour eux est leur propre vie
Peux tu tester le code ci-dessous et nous dire ce que ça donne ?
<?php
//--------------------------------------------------------------------------------//
// Connexion à la base de données
//--------------------------------------------------------------------------------//
try{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}catch(Exception $e){
die('Erreur : '.$e->getMessage());
}
//--------------------------------------------------------------------------------//
$sql = "SELECT a FROM color";
try{
$req = $bdd->prepare($sql);
$req->execute();
//on place le résultat dans un array
$reponse = $req->fetchAll();
}catch(Exception $e){
die('Erreur : '.$e->getMessage());
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>colorcode</title>
</head>
<style>
form {
text-align:center;
}
</style>
<body>
<form action="colorcode_post.php" method="post">
<p>
<label for="a">a</label> : <input type="color" name="a" id="a" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
if(count($reponse)>0){
foreach($reponse as $D){
$couleur = $D['a'];
switch($couleur){
case "#FF0000":
echo = '<div style="background-color:rgb(255,0,0);width:20px;height:10px;"></div>';
break;
case "#149414" || "#008000" || "#7FFF00" || "#006400" || "#228B22" || "#3CB371" :
echo '<div style="background-color:rgb(0, 153, 0);width:20px;height:10px;"></div>';//affiche le background vert
break;
default:
//aucune couleur correspondante
break;
}
}
}
?>
</body>
</html>
<?php
// Connexion à la base de données
try{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}catch(Exception $e){
die('Erreur : '.$e->getMessage());
}
//Récupération "propre" des variables POST
$a = isset($_POST['a']) ? $_POST['a'] : NULL;
$params = array(":a"=>$a);
// Insertion du message à l'aide d'une requête préparée
if($a){
$sql = "INSERT INTO color (a) VALUES(:a)";
$req = $bdd->prepare($sql);
$req->execute($params);
// Redirection du visiteur vers la page du minichat
header('Location: colorcode.php');//retour vers la page d'acceuil !
}else{
die("Erreur : Aucune variable 'a' envoyée par POST");
}
?>
Merci jordance pour votre aide
mais il s'affice un **( ! ) Parse error: syntax error, unexpected '=' in C:\wamp\www\tests\projet1(3)\projet1\colorcode.php on line 51
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 26 août 2015 à 00:07
Comme le dit le message d'erreur ... il y a un "=" en trop .. à la ligne 51
25 août 2015 à 22:31