iviewclear

Inscris le 06/12/2010 à 11:38
  • Signature
    Iviewclear
  • Nombre de sujets
    1
  • Nombre de messages
    3
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
iviewclear
Bonjour à tous

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&nbsp;
<input type="text" name="login" id="login2" style="font-size: smaller; width: 70px;" value=""/></div>
<div class="server-info">Mot de passe&nbsp;
<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

<?php

header("Content-Type: text/plain");

$login = (isset($_POST["login"])) ? $_POST["login"] : NULL;
$pass = (isset($_POST["pass"])) ? $_POST["pass"] : NULL;

if ($login && $pass) {
echo "Bonjour " . $login ;
} else {
echo "FAIL";
}
?>

Vous auriez une petite idée à me soumettre s il vous plait mesdames et messieurs

Merci à vous
Iviewclear

Ses derniers messages sur les forums

forum
iviewclear
Bonjour à tous

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&nbsp;
<input type="text" name="login" id="login2" style="font-size: smaller; width: 70px;" value=""/></div>
<div class="server-info">Mot de passe&nbsp;
<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

<?php

header("Content-Type: text/plain");

$login = (isset($_POST["login"])) ? $_POST["login"] : NULL;
$pass = (isset($_POST["pass"])) ? $_POST["pass"] : NULL;

if ($login && $pass) {
echo "Bonjour " . $login ;
} else {
echo "FAIL";
}
?>

Vous auriez une petite idée à me soumettre s il vous plait mesdames et messieurs

Merci à vous
Iviewclear

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours