2016-09-13 2 views
-2

Ich versuche, eine einfache Login-Seite mit Ajax und PHP zu machen. der Antworttext es zurückkehrt ist wie folgt: response:Ajax Login-Seite HTML-Tags zurückgeben

<html> 
<head> 
</head> 
<body> 
</body> 
</html> 
success 

Warum ist das passiert? Wie kann ich diese HTML-Tags loswerden? mein Code:

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.js"></script> 
</head> 
<body> 
<form action="" method="post" id="myform"> 
<label>Username</label><input type="text" id="username" name="user"> 
<label>Password</label><input type="text" id="password" name="pwd"> 
<input type="button" onclick="sub()" value="Submit"> 
</form> 
</body> 
</html> 
      <script> 
      function sub() 
      { 
      var email=$("#username").val(); 
      var password=$("#password").val(); 
      var dataString = 'email='+email+'&password='+password; 
      if($.trim(email).length>0 && $.trim(password).length>0) 
      { 
      $.ajax({ 
      type: "POST", 
      dataType: "text", 
      url: "home1.php", 
      data: "username=" + $("#username").val()+"&password=" + $("#email").val(), 
      cache: false, 
      success: function(status){ 
       alert(status); 
      } 
      }); 

      } 
         } 
</script> 

home1.php:

<?php 
include("db.php"); 
session_start(); 
if(isSet($_POST['email']) && isSet($_POST['password'])) 
{ 
$email=mysqli_real_escape_string($db,$_POST['email']); 
$password=mysqli_real_escape_string($db,$_POST['password']); 

$result=mysqli_query($db,"SELECT user_id FROM customers WHERE email1='$email' and password='$password'"); 
$count=mysqli_num_rows($result); 

$row=mysqli_fetch_array($result,MYSQLI_ASSOC); 
if($count==1) 
{ 
$_SESSION['id']=$row['user_id']; 
echo "success"; 
} 
} 
?> 
+0

Menschen besser helfen könnte, wenn Ihr Code korrekt formatiert wurde – CoffeeNinja

+0

Sie werden wahrscheinlich auch die Quelle der PHP-Datei einbeziehen wollen, da sie das Markup zurückgibt. –

+0

Wie ist die Beziehung zu PHP hier? Außerdem gibt es nirgends eine E-Mail-ID. –

Antwort

0

Ihre home1.php Seite muss einen Text zurückkehren, wenn Sie alert (Status) wollen richtig zu arbeiten.

Möglicherweise wurden diese Tags möglicherweise von Ihrem Webserver eingefügt, weil Sie den Inhaltstyp nicht ordnungsgemäß festgelegt haben.

<?php 
// home1.php 

    Header('Content-Type: text/plain;charset=utf8'); 
    die("This is the response"); 

Die oben genannten sollten mit Ihrem Code arbeiten.

Für ein komplexeres Beispiel versuchen, den Datentyp 'Text' und mit JSON entfernen:

starten
success: function(response) { 
    if (response.hasOwnProperty('status')) { 
     // We should actually check there is a message property too... 
     alert(response.message); 
    } else { 
     alert('Incorrect response received'); 
    } 
} 

und in home1.php mit einer Datei nur enthalten:

<?php 
    $response = array(
     'status' => 'success', 
     'message' => 'Everything is OK!', 
    ); 
    Header('Content-Type: application/json;charset=utf8'); 
    die(json_encode($response)); 

, um zu sehen, ob es funktioniert alles.

Auch

Sie jQuery verwenden, so dass Sie einige Codierung speichern:

function sub() { 
     var email=$("#username").val(); 
     var password=$("#password").val(); 
     var dataString = 'email='+email+'&password='+password; 
     if($.trim(email).length>0 && $.trim(password).length>0) { 
      $.post(
       'home1.php', 
       { 
        username: email, 
        password: password 
       } 
      ).done(function(response) { 
       // Here response is the JSON object returned by home1.php 
      }); 
+0

Versucht, Header hinzuzufügen ('Content-Type: text/plain; charset = utf8'); sterben ("Dies ist die Antwort"); Funktioniert immer noch nicht. Habe es sogar mit JSON versucht .. kein Glück dort auch. – Divya

0

ändern Ihre Funktion dieses

$('#myform').submit(function(event){ 
    event.preventDefault(); 

    var username = $.trim($("#username").val()), 
     password = $("#password").val();//don't trim passwords 

    if (username.length > 0 && password.length > 0) { 
    $.ajax({ 
     method: "POST", 
     url: "home1.php", 
     data: { pUsername: username, pPassword: password } 
    }).done(function(data) { 
     alert(data); //shows all data received from home1.php 
    }); 
    } 
}); 
Verwandte Themen