Probleme variable Php
Résolu
Bonjour,
j'ai un souci avec des variables. Alors voila :
Ma première page affiche tout les noms des voitures de ma DB. Lorsque j'en choisi une je renvoi sur une autre page qui elle affiche toutes les caractéristiques de la voiture sélectionnée. Pour faire cette manipulation je place l'id de la voiture sélectionner dans mon URL (https://www.pagesjaunes.fr/?voiture=1)
Jusque la tout va bien.
Sauf que sur la deuxième page on peut modifier les caractéristiques de la voiture.
Avant d'effectuer ma requête update je vérifie que tout les champs ne sont pas vides.
Et la est mon problème !!!
Si un champ est vide j'affiche une alert (JavaScript) sauf qu'après le navigateur recharge la deuxième page mais SANS les variables de l'URL donc ERREUR!!! (http://www.monsite.fr)
Il me faudrait donc un moyen de vérification sans recharger la page.
Merci de votre aide
--
Réfléchir avant d'agir
j'ai un souci avec des variables. Alors voila :
Ma première page affiche tout les noms des voitures de ma DB. Lorsque j'en choisi une je renvoi sur une autre page qui elle affiche toutes les caractéristiques de la voiture sélectionnée. Pour faire cette manipulation je place l'id de la voiture sélectionner dans mon URL (https://www.pagesjaunes.fr/?voiture=1)
Jusque la tout va bien.
Sauf que sur la deuxième page on peut modifier les caractéristiques de la voiture.
Avant d'effectuer ma requête update je vérifie que tout les champs ne sont pas vides.
Et la est mon problème !!!
Si un champ est vide j'affiche une alert (JavaScript) sauf qu'après le navigateur recharge la deuxième page mais SANS les variables de l'URL donc ERREUR!!! (http://www.monsite.fr)
Il me faudrait donc un moyen de vérification sans recharger la page.
Merci de votre aide
--
Réfléchir avant d'agir
10 réponses
-
Sinon la méthode de Reivax962 fonctionne aussi.
Merci beaucoup
-
J'ai remplacé par ceci et sa marche
<form id="monform" name="form1" method="POST" action="<?php echo $monUrl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>" >
Merci beaucoup pour votre aide, Merci. C'est grâce a cette entraide que sa donne envie de continuer à développer.
-
Bonjour,
Le problème, c'est que tu fais ta vérification au niveau PHP, donc après que le navigateur a demandé l'appel de la nouvelle page au serveur.
Pour bien faire, il faudrait faire la vérification en javascript, avant que l'appel ne soit lancé.
Pour ça, je te propose le code suivant :<?php $sql="SELECT * FROM voiture WHERE Id=".$_GET['id']." "; $resultat=odbc_do($cnx, $sql) or die( odbc_error() ); $gestion=odbc_fetch_array($resultat); if(isset($_POST['ok'])) { $caracteristique = $_POST['caracteristique']; if(!empty($caracteristique)) { $sql2="UPDATE voiture SET caracteristique='".$_POST['caracteristique']."' WHERE Id=".$_GET['id']." "; $resultat2=odbc_do($cnx, $sql2) or die( odbc_error() ); } } ?> <form id="monform" name="form1" method="POST" action="page2.php" onsubmit="if(document.getElementsByName('caracteristique')[0].value == '') {alert('Champ Vide !'); return false; }"> <label><textarea name="caracteristique"></textarea></label> <label><input type="submit" name="ok" value="Valider" /></label> </form>
J'ai laissé quand même la vérification PHP sur les caractéristiques non vide, pour éviter que le javascript ne soit contourné...
Xavier -
Oui avec les variables
$_SERVEUR print_r($_SERVER);
et choisi celle qui te convient -
Cela ne marche pas, il m'affiche une page blanche.
Est-il possible de récupérer l'URL complète avec les variables pour la mettre dynamiquement dans le paramètre "action" du form. Car quand j'effectue le form il va a la page "page2.php "??
-
Essayez:
if(empty($caracteristique)) { echo '<script type="text/javascript">alert("Champ Vide !");</script>'; exit; } -
<?php $sql="SELECT * FROM voiture WHERE Id=".$_GET['id']." "; $resultat=odbc_do($cnx, $sql) or die( odbc_error() ); $gestion=odbc_fetch_array($resultat); if(isset($_POST['ok'])) { $caracteristique = $_POST['caracteristique']; if(empty($caracteristique)) { echo '<script type="text/javascript">alert("Champ Vide !");</script>'; } else { $sql2="UPDATE voiture SET caracteristique='".$_POST['caracteristique']."' WHERE Id=".$_GET['id']." "; $resultat2=odbc_do($cnx, $sql2) or die( odbc_error() ); } } ?> <form id="monform" name="form1" method="POST" action="page2.php"> <label><textarea name="caracteristique"></textarea></label> <label><input type="submit" name="ok" value="Valider" /></label> </form> -
Je peux voire le code ?
-
-
Bonjour
En mettantreturn false;
à la fin de votre fonction JavaScript ?