Bouton valide fonctionne pas
Résolu
ferdy
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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
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.
.
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.
.
A voir également:
- Bouton valide fonctionne pas
- Ethernet n'a pas de configuration ip valide - Guide
- Diagnostic bouton photo - Accueil - Outils
- Bouton shift pc - Forum Jeux vidéo
- Bouton home clavier ✓ - Forum PC portable
- Url valide - Guide
4 réponses
Bonjour,
Quand tu parles du "bouton d'envoie"... tu veux parler de celui là ?
Peux tu essayer comme ceci :
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 ??
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 ??
jordane45
Messages postés
40050
Statut
Modérateur
4 757
pardon.. il manque un Espace ...
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 :
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.
.
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.
.
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 -
Tu utilises des variables POST ... ET ... GET ....????
Pour que tu comprennes ce qui ne marche pas... ajoutes donc un peu de debug :
NB : Commence tes pages php par :
NB2 : Pour récupérer tes variables préfères utiliser la syntaxe
Au lieu de :
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 :
<?phpet 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"];
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 ( )
POST :
Array ( [action] => [ACT_titre] => AAa [ACT_contenu] => aaaa [ACT_date] => 03/06/2015 )
GET :
Array ( )
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">