
le 08/01/2011 à 15:14
iviewclear
Bonjour à tous
Bon j'ai un formulaire d'identification simple avec 2 input dont voici le code
Je souhaite envoyer ces info dans un fichier PHP pour traitement afin qu'ensuite je puisse récupérer un morceau de texte à afficher quelque part dans un DIV 'resultat' en foncion du résultat du traitement.
Je me sers donc d'AJAX !!!
et j'ai cela comme fonctions js :
Et pour le PHP, je fais cela :
Mon souci actuel :
Je passe 3 fois dans mon test alert('There was a problem with the request.'); c'est à dire que 3 fenêtres d'alerte s'affichent
Est-ce un souci PHP dans mon traitement ou autre chose ??
Il est à noter que dans je passe par un PHP simple comme celui_ci cela marche j'ai bien un retour
Vous auriez une petite idée à me soumettre s il vous plait mesdames et messieurs
Merci à vous
Bon j'ai un formulaire d'identification simple avec 2 input dont voici le code
- <form id="formconnexion" method="post" action="page2.php">
- <div class="server-info" id="resultat">Connectez-vous !</div>
- <div class="server-info">identifiant
- <input type="text" name="login" id="login2" style="font-size: smaller; width: 70px;" value=""/></div>
- <div class="server-info">Mot de passe
- <input type="password" name="pass" id="password2" style="font-size: smaller; width: 70px;" value=""/>
- <!--<input type="submit" name="connexion" value="Connexion" onchange="go()"/>-->
- <input type="button" name="connexion" value="Connexion" onclick="go()"/>
- </div>
- <a href="#" class="button red" title="Logout">
- <span class="smaller">LOGOUT</span></a>
- </form>
Je souhaite envoyer ces info dans un fichier PHP pour traitement afin qu'ensuite je puisse récupérer un morceau de texte à afficher quelque part dans un DIV 'resultat' en foncion du résultat du traitement.
Je me sers donc d'AJAX !!!
et j'ai cela comme fonctions js :
- <script type="text/javascript">
- function getXMLHttpRequest() {
- var xhr = null;
- if (window.XMLHttpRequest || window.ActiveXObject) {
- if (window.ActiveXObject) {
- try {
- xhr = new ActiveXObject("Msxml2.XMLHTTP");
- } catch(e) {
- xhr = new ActiveXObject("Microsoft.XMLHTTP");
- }
- } else {
- xhr = new XMLHttpRequest();
- }
- } else {
- alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
- return null;
- }
- return xhr;
- }
- function go(){
- var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ txtAafficher = xhr.responseText; document.getElementById('resultat').innerHTML = txtAafficher;
- alert(txtAafficher);
- }
- else { alert('There was a problem with the request.');
- }
- }
- xhr.open("POST","page.php",true);
- xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
- var argLogin = encodeURIComponent(document.getElementById('login2').value);
- var argPass = encodeURIComponent(document.getElementById('password2').value);
- var data = "login=" + argLogin + "&pwd" + argPass;
- xhr.send(data);
- }
- </script>
Et pour le PHP, je fais cela :
- <?php
- header("Content-Type: text/plain");
- $login = $_POST['login'];
- $pass = $_POST['pass'];
- // je teste si le fomulaire à été envoyé
- if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
- if ((isset($_POST['login']) && !empty($_POST['login']))
- && (isset($_POST['pass']) && !empty($_POST['pass']))){
- // connexion à la base
- $base = mysql_connect('localhost','root','');
- mysql_select_db('base', $base);
- // construction de la requete
- /*$sql = 'SELECT count(*)
- FROM membre
- WHERE login="'.$login.'"
- AND pass_md5="'.$pass.'"'; */
- $sql = 'SELECT count(*)
- FROM membre
- WHERE login="'.$_POST['login'].'"
- AND pass_md5="'.$_POST['pass'].'"';
- $requete = mysql_query($sql) or die('erreur !!!'.$sql.'<br>'.mysql_error());
- $resultat = mysql_fetch_array($requete);
- if(mysql_num_rows($resultat) == 1){
- echo "Bonjour " . $login ;
- }
- else {
- echo "Inscrivez-vous !!";
- }
- }
- else {
- echo = 'Au moins 1 champ vide';
- }
- }
- ?>
Mon souci actuel :
Je passe 3 fois dans mon test alert('There was a problem with the request.'); c'est à dire que 3 fenêtres d'alerte s'affichent
Est-ce un souci PHP dans mon traitement ou autre chose ??
Il est à noter que dans je passe par un PHP simple comme celui_ci cela marche j'ai bien un retour
Vous auriez une petite idée à me soumettre s il vous plait mesdames et messieurs
Merci à vous