Bouton valide fonctionne pas

Résolu/Fermé
ferdy - Modifié par jordane45 le 18/06/2015 à 10:53
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 18 juin 2015 à 12:07
Bonjour,
j'ai fait un formulaire sauf que le bouton d'envoi ne fonctionne pas et je sais pas du tout d'où viens l'erreur malgré le fait d'avoir chercher, si quelqu'un pourrai m'indiquer si il voit une erreur dans mon code ça serait sympa.
Merci.
voici mon code :
index.php
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/[/contents/1024-partition-partitionnement-d-un-disque-dur bootstrap]/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script>
$(function() {
 $( "input[name='ACT_date']" ).datepicker({
  "dateFormat" : "dd/mm/yy"
  });
});


</script>
<?
include('bdd.php');

$action = (isset($_GET["action"])) ? $_GET["action"] : '';
//$action= $_GET["action"]
 if(isset($_GET["ID"])){
 $ID=$_GET["ID"];
 }
 if($action == "mod"){
  
 $sql_ope = "SELECT * FROM actu WHERE ACT_id=".$ID."";
 $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());
 $data = mysql_fetch_array($req_ope);
 //echo $data["ACT_titre"];
 }
 
 ?>
<html>
<body>
<div class="container">
  <h4>Ajout/Modification</h4>
  <br>
  <br>
  <div class="row">
    <div class="col-md-6">
      <form  class="form-horizontal" action="ACT_scr.php" method="post" enctype="multipart/form-data" name="formu">
        <? if($action == "mod"){ ?>
        <input type="hidden" value="<? echo $_GET["ID"]?>" name="ID" />
        <? } ?>
        <input type="hidden" value="<? echo $action ?>" name="action" />
        <div class="form-group">
          <label for="ACT_titre">Titre</label>
          <input type="text" class="form-control" name="ACT_titre" value="<? if($action == "mod"){ echo $data["ACT_titre"]; } ?>" />
        </div>
        <div class="form-group">
          <label for="ACT_contenu">Contenu</label>
          <textarea class="form-control" rows="3" name="ACT_contenu"><? if($action == "mod"){ echo $data["ACT_contenu"]; } ?>
</textarea>
        </div>
        <div class="form-group">
          <label for="exampleInputFile">Pièce jointe</label>
          <i class="fa fa-picture-o"></i>
          <input type="file" id="exampleInputFile" name="ACT_photo" value="fichier">
          <? if($action == "mod"){ ?>
          <p <img src="./fichiers/<? echo $data["ACT_photo"] ; ?>" width="300px" />
          </p>
          <? } ?>
        </div>
        <div class="form-group">
          <label for="ACT_date">Date</label>
          <input type="text" name="ACT_date" value="<? if($action == "mod" && $data["ACT_date"] != '0000-00-00'){
                    list($annee, $mois, $jour) = explode("-",$data["ACT_date"]);
                    echo $jour."/".$mois."/".$annee; 
                     }
                    ?>">
        </div>
        <div class="row">
          <div class="col-md-12"> <a href="index.php" class="btn btn-warning"><i class="fa fa-arrow-left"></i> Retour</a>
          <button type="submit" class="btn btn-primary">Valider <i class="fa fa-check"></i></button> 
          </div>
        </div>
      
        
      </form>
    </div>
  </div>
</div>
</body>
</html>



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

4 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2015 à 10:57
Bonjour,

Quand tu parles du "bouton d'envoie"... tu veux parler de celui là ?
 <button type="submit" class="btn btn-primary">Valider <i class="fa fa-check"></i></button> 


Peux tu essayer comme ceci :
 <inputtype="submit" class="btn btn-primary" value="Valider">

et nous dire ce que ça donne....

Autre question... <<ça ne marche pas>> .. c'est à dire ?
Tu arrives bien sur la page ACT_scr.php et rien ne se passe .....; ou tu ne vas même pas dans cette page ??

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2015 à 11:20
pardon.. il manque un Espace ...
<input type="submit" class="btn btn-primary" value="Valider">
0
ca ne marche pas cad que ca renvoie sur la page ACT_scr.php et la page est blanche
ensuite j'ai essayé ce input mais rien ne se passe et ca ne renvoie pas sur la page scr

Par contre, lorsque j'ai fait ce code sans bootstrap tout fonctionnais très bien, je t'envoie mon scr :
<? 
include('bdd.php');
//$action = (isset($_GET["action"])) ? $_GET["action"] : '';
if(isset($_POST["action"])){
 $action=$_POST["action"];
}
elseif(isset($_GET["action"])){
 $action=$_GET["action"];
}


if($action == 'add' || $action == 'mod')
{
 $ID=$_POST["ID"];
 $Titre=$_POST["ACT_titre"];
 $ACT_date=$_POST["ACT_date"];
 if($_POST["ACT_date"] != '') {
 list($jour, $mois, $annee) = explode("/",$ACT_date);
  $ACT_date = $annee."-".$mois."-".$jour;
 } else {
  $ACT_date = '';
 }
 $Contenu=$_POST["ACT_contenu"];
 
 if(isset($_FILES['ACT_photo']['name']) && $_FILES['ACT_photo']['name'] != ''){
  $photo = $_FILES['ACT_photo']['name'];
  $path = $_FILES['ACT_photo']['tmp_name'];
  copy($path, './fichiers/'.$photo);
 } else {
  $photo = '';
 }
}

switch($action){
 case "add" : 
   $sql_ope = "INSERT INTO actu
          SET ACT_titre   = '".$Titre."',
        ACT_photo   = '".$photo."',
        ACT_contenu   = '".$Contenu."',
           ACT_date   = '".$ACT_date."' 
        "; 
  
    $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());
    header("Location: index.php");
   exit;
    
 break;
 
 case "supp" :
  $ID = $_GET["ID"];
  $sql_ope = "DELETE FROM actu WHERE ACT_id='".$ID."'"; 
  $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());
  header("Location: index.php");
  exit;
 break;
 
 case "mod" :
  $sql_ope = "UPDATE actu 
       SET ACT_titre  = '".$Titre."',
       ACT_photo   = '".$photo."',
       ACT_contenu   = '".$Contenu."',
       ACT_date   = '".$ACT_date."', 
     WHERE   ACT_id    = '".$ID."'
       "; 
  $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());
  header("Location: index.php");
  exit;
 break;
}

?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2015 à 11:30
1 - **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

2 -
ca ne marche pas cad que ca renvoie sur la page ACT_scr.php et la page est blanche

Tu utilises des variables POST ... ET ... GET ....????

Pour que tu comprennes ce qui ne marche pas... ajoutes donc un peu de debug :
<?php 

// Reporte toutes les erreurs PHP (Voir l'historique des modifications)
error_reporting(E_ALL);

//connexion à la BDD
include('bdd.php');

// le temps des tests
echo "<br> POST :<br>";
print_r($_POST);
echo "<br> GET :<br>";
print_r($_GET);



//$action = (isset($_GET["action"])) ? $_GET["action"] : '';
if(isset($_POST["action"])){
   $action=$_POST["action"];
}elseif(isset($_GET["action"])){
   $action=$_GET["action"];
}else{
  echo "<br> ERREUR : Action INCONNUE !";
}


if($action == 'add' || $action == 'mod'){
 $ID=$_POST["ID"];
 $Titre=$_POST["ACT_titre"];
 $ACT_date=$_POST["ACT_date"];
 if($_POST["ACT_date"] != '') {
    list($jour, $mois, $annee) = explode("/",$ACT_date);
    $ACT_date = $annee."-".$mois."-".$jour;
 } else {
    $ACT_date = '';
 }
 $Contenu=$_POST["ACT_contenu"];
 
 if(isset($_FILES['ACT_photo']['name']) && $_FILES['ACT_photo']['name'] != ''){
    $photo = $_FILES['ACT_photo']['name'];
    $path = $_FILES['ACT_photo']['tmp_name'];
    copy($path, './fichiers/'.$photo);
 } else {
  $photo = '';
 }
}

switch($action){
 case "add" : 
   $sql_ope = "INSERT INTO actu
          SET ACT_titre   = '".$Titre."',
        ACT_photo   = '".$photo."',
        ACT_contenu   = '".$Contenu."',
           ACT_date   = '".$ACT_date."' 
        "; 
  
    $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());
       
 break;
 
 case "supp" :
  $ID = $_GET["ID"];
  $sql_ope = "DELETE FROM actu WHERE ACT_id='".$ID."'"; 
  $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());

 break;
 
 case "mod" :
  $sql_ope = "UPDATE actu 
       SET ACT_titre  = '".$Titre."',
       ACT_photo   = '".$photo."',
       ACT_contenu   = '".$Contenu."',
       ACT_date   = '".$ACT_date."', 
     WHERE   ACT_id    = '".$ID."'
       "; 
  $req_ope = mysql_query($sql_ope) or die('Erreur SQL !<br>'.$sql_ope.'<br>'.mysql_error());

 
 break;
}

 // on retire la redirection le temps des tests
  //header("Location: index.php");
 // exit;

?>



NB : Commence tes pages php par :
<?php
et non
<?
.

NB2 : Pour récupérer tes variables préfères utiliser la syntaxe
 $ID=isset($_POST["ID"])?$_POST["ID"]:NULL;

Au lieu de :
 $ID=$_POST["ID"];

0
j'ai fait un copier coller de ce que tu as fait et voici le message d'erreur :

POST :
Array ( [action] => [ACT_titre] => AAa [ACT_contenu] => aaaa [ACT_date] => 03/06/2015 )
GET :
Array ( )
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2015 à 11:42
... comme tu le vois... ACTION est vide....
en même temps... je ne vois aucun input dont le name serait "action" dans ton code html.....
N'aurais tu pas oublié des choses lorsque tu es passé à BootStrap ????
0
c'est vrai qu'il ne reconnait pas l'action mais j'ai mis des POST et GET normalement ca suffit non ? je ne vois pas ou je pourrais mettre le name d'action ..
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > ferdy
18 juin 2015 à 11:50

j'ai mis des POST et GET normalement ca suffit non ?
<block>
Encore faut-il TRANSMETTRE cette variable !

POST : récupère les variables issues d'éléments HTML comme les INPUT par exemple....
GET : Prend les variables présentes dans l' URL

<block>
je ne vois pas ou je pourrais mettre le name d'action

Ben je ne sais pas....où l'avais tu mis lorsque ton code fonctionnait ?????

Tu pourrais le mettre dans un INPUT HIDDEN par exemple
 <input type="hidden" name="action" value="add">
0
va voir a la ligne 46 de l'index il y est
0
c'est bon j'ai trouvée d'ou vient le problème, il fallait rajouter un paramètre "add" dans le bouton ajouter sur la page index :
 onClick="window.location='ACT_amd.php?action=add" 

et ca marche très bien.

en tout cas merci
0