submit fonctionne sous Chrome mais pas sous FF et IE - PHP - Programmation
Marsh Posté le 08-09-2012 à 23:32:46
Hello,
Si ca fonctionne sous Chrome c'est que le sain esprit est avec toi, ou bien que tu ne donnes pas toutes les clés pour résoudre le problème.
Ainsi la partie PHP semble fonctionner, sous IE8 et superieur de mon coté, mais ton formulaire me semble des plus étranges. Est il le résultat d'un echo? Dans le cas contraire, je vois mal comment le champ input#id pourrait avoir une valeur.
De mon coté, voici ce qui fonctionne sous IE8:
Code :
|
Et là quelque soit mon navigateur, aucun souci de mise à jour en BDD.
Pour info, ça fonctionne aussi si je fais
Code :
|
Marsh Posté le 09-09-2012 à 00:53:43
Bonsoir Xaeon,
Merci beacoup pour ta réponse.
En fait, je dois afficher des lignes de la BDD. Puis j'aimerai pouvoir effectuer la mise à jour de chaque ligne, ligne par ligne.
Voilà le script complet de la partie HTML:
Code :
|
Et voici le script complet de la partie PHP
Code :
|
Mais le problème persiste: ca marche sous Chrome, mais pas sur Firefox et IE ...
Peut-être que la boucle While est à l'origine du problème ?
Meme quand je donne une valeur constante à '$b_id', ca ne marche pas ...
Je suis perdue ...
Marsh Posté le 09-09-2012 à 01:48:29
Donc, on va tenter de voir que qui ne va pas, et également voir ce qu'on peut faire pour améliorer la lisibilité, je pars du principe que tu as un PHP5 installé avec ses extensions standard
Code :
|
De l'autre coté, ton script qui doit faire le traitement (que j'ai appelé ici scriptPourUpdater.php et que j'ai placé dans le même dossier)
Code :
|
Avec ça normalement, on passe sous n'importe quel navigateur. Pense à bien vérifier si les requêtes qui sont générés et/ou jouées sont bien celles que tu souhaites, vérifie aussi l'état de test variables (echo, print_r(), var_dump()) de temps en temps pour connaitre leur valeur à un instant t pour comprendre ce qui se passe dans ta boucle.
De même, ne te complique pas la vie avec des forms html lorsqu'un simple lien permet de faire l'action demandée, réserve ça à la saisie d'information.
Marsh Posté le 09-09-2012 à 12:50:27
Merci pour ta réponse Xaeon.
J'ai essayé ce que tu m'as dit mais ca ne fonctionne otujours pas:
-SOUS FIREFOX:
Le lien "Terminer" n'est pas cliquable. Et quand je colle l'adresse suivante dans la barre d'adresse:
Code : |
J'obtien le message d'erreur suivante:
Code :
|
-Sous Chrome:
J'obtiens le même message d'erreur, sauf que le lien est cliquable.
NB: l'id 299794 existe pourtant bien dans la base de données
Marsh Posté le 09-09-2012 à 12:54:07
J'ai anvancé un ptit peu.
En fait, dans cette adresse:
Code :
|
Il faut remplacer le '&' par '?'.
Le problème est que:
-Sous FIREFOX: le bouton "Terminer" n'est pas cliquable ....
Pourtant sous Chrome, le bouton est bel et bien cliquable et la mise à jour s'effectue correctement
Help please
Marsh Posté le 09-09-2012 à 13:08:07
j'aurais dit que le input submit qui se nomme action ça peut poser un peu problème en JS
Marsh Posté le 09-09-2012 à 13:11:10
J'ai remplacé le Bouton par du texte et là je peux cliquer sur le lien sous Firefox.
Merci beaucoup pour ton aide Xaeon.
C'est bizarre quand même le fait de ne pas pouvoir cliquer sur un Bouton ...
Si tu as des idées, je suis preneur
Encore merci
Marsh Posté le 09-09-2012 à 13:13:02
gatsu35 a écrit : j'aurais dit que le input submit qui se nomme action ça peut poser un peu problème en JS |
Merci pour ta réponse ...
Personnellement, je trouve ça très bizarre ...
Avec un lien Text ca marche
Avec un <button> ca ne marche pas ...
Marsh Posté le 09-09-2012 à 14:52:30
Ah oui il était tard désolé, effectivement le 1er argument passé après un script php est bien précédé du symbole ? T_T
Pour le <button> également, il n'est pas prévu pour accepter de lien, mais rien ne t'empeche de styliser ton lien pour qu'il ait l'apparence d'un bouton, et si le CSS n'est pas ton ami, un
Code :
|
Marsh Posté le 10-09-2012 à 11:01:30
foreach($statement as $row){
if($row->etat != 'termine'){
Question bête : pourquoi ne pas rechercher directement dans la BD que les enregistrements ayant pour état "terminé"
Marsh Posté le 10-09-2012 à 17:33:57
Ouai pas faux mais plutôt inversement rechercher les enregistrements ayant un status différent de 'terminé'
Après je dois dire que je n'ai pas pensé à regarder la cohérence des requêtes mais ton point est très juste
Marsh Posté le 11-09-2012 à 10:16:52
Effectivement, j'avais pas fait gaffe au !=
Marsh Posté le 08-09-2012 à 18:44:13
Salut à tous,
Je suis nouvelle sur le forum et je suis débutante en PHP.
J'ai un petit soucis. C'est pourquoi je me tourne vers vous, en espérant trouver la solution.
J'ai cherché sur le forum si un problème similaire au mien existait déjà, mais je n'ai pas trouvé. Veuillez donc m'excuser si je répète le même topic ...
J'ai écrit un petit script PHP et le problème est que mon formulaire fonctionne sous Chrome mais pas sur IE et FF.
Voici le code HTML:
/*************************************************/
<form action='../auberge/etatCommandeTermine.php' method='GET'>
<p>
<input type='hidden' name='id' id='id' value='".$b_id."' />
</p>
<p>
<input type='submit' name='action' value='Termine' id='send'/>
</p>
</form>
/*************************************************/
Et voici la requete:
/*************************************************/
<?php
mysql_connect("localhost", "root", "" );
mysql_select_db("vanadium" );mysql_query("SET NAMES 'UTF8'" );
if (isset($_GET['action']))
{
$b_id=$_GET['id'];
$etat=mysql_query('UPDATE historique SET etat=\'termine\' WHERE id=\''.$b_id.'\'');
}
/*redirection du visiteur vers la page Historique*/
header('Location:historique.php');
?>
/******************************************************************/
Quand je clique sur le bouton SUBMIT sous FF ou IE, il ne se passe rien !
Quand je suis sous Chrome, la base de donnée est bien modifiée et la page est rafraîchie.
Quelqu'un peut-il m'aider ?
Il faut que je fasse marcher mon programme sous FF ...
Merci d'avance
Nana92