Urgent:mon code php ne marche pas

sadik21 - Modifié par jordane45 le 25/08/2015 à 22:46
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 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)

2 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
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
0
Ok .Merci bcp
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 25/08/2015 à 23:04
Bonjour,

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");
}
?>





Cordialement,
Jordane
0
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
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
26 août 2015 à 00:07
Comme le dit le message d'erreur ... il y a un "=" en trop .. à la ligne 51
  echo = '<div style="background-color:rgb(255,0,0);width:20px;height:10px;"></div>';   

A remplacer par
  echo  '<div style="background-color:rgb(255,0,0);width:20px;height:10px;"></div>';   
0
Rejoignez-nous