2009-10-20 8 views
0

Possible en double:
Call php from javascript and return an array from php to Javascript functionComment obtenir le retour de php en javascript?

j'ai un code php pour la vérification de l'utilisateur en XML

Pour exemple: ValLogin.php

<?php 
$userName = $_REQUEST["username"]; 
$password = $_REQUEST["password"]; 
$iCount = 0; 
$loginArray = array(); 
$xml = simplexml_load_file("Logintest.xml"); 
for ($i=0;$i<2;$i++) 
{ 
    foreach($xml->Username[$i]->attributes() as $a => $b) 
    { 
     $loginArray[$iCount] = $b; 
     $iCount++; 
    } 
    if($userName == $loginArray[0] && $password == $loginArray[1]) 
    { 
     header("Location: EHP_Configuration.html"); 
     return ; 
    } 
    $iCount = 0; 
} 
echo "<SCRIPT LANGUAGE='javascript'>alert('asd')</SCRIPT>"; 
header("Location: Login.html"); 
?> 

HTML

<form method = "post" action = "ValLogin.php"> 
</form> 

echo ne fonctionne pas comme prévu. il montre directement la redirection à la connexion

Comment puis-je obtenir le message nom d'utilisateur/Login invalide?

+0

Pouvez-vous s'il vous plaît fournir aussi un exemple de Logintest.xml? Entre autres choses, la façon dont vous itérer à travers le doc xml semble ... bizarre ;-) – VolkerK

+0

Logintest.xml NewBie

+0

Extension de la note de VolkerK, utilisez 'SimpleXMLElement :: xpath()' (http: //www.php .net/manual/fr/simplexmlelement.xpath.php) plutôt que de boucler. La recherche d'un utilisateur prendra 1 ligne: '$ xml-> xpath (" // Nom d'utilisateur [@User = '$ username' et @Password = '$ mot de passe'] ")' – outis

Répondre

1

Vous ne pouvez pas envoyer de code HTML/données avant d'envoyer l'en-tête, vous devrez donc envoyer l'alerte javascript dans le champ "Login.html".

plus que vous devriez vraiment embrasser votre code Javascript avec

<script type="text/javascript"> 
     alert('asd'); 
</script> 
Questions connexes