PDO не соединяется с базой данных в гибридном приложении - PullRequest
0 голосов
/ 27 февраля 2020

Я написал скрипт Javascript, который должен посылать некоторые данные в файл PHP, который отправлял бы их в базу данных, в браузере это работало нормально, но когда я загрузил его в android studio и попробовал телефон не отправляет данные в базу данных. Кто-нибудь знает, что я должен изменить?

Спасибо за любой ответ

Это мой JS код:

var name = $("#name").val();
            var nname = $("#nname").val();
            var passwort = $("#passwort").val();
            var email = $("#email").val();
            var telnummer = $("#telnummer").val();
            var gebdatum = $("#gebdatumJ").val()+$("#gebdatumM").val()+$("#gebdatumT").val();
            var region = $("#region").val();
            if ($.trim(name).length >0) {   
$.ajax({
        type: "POST",  //Request type
        url: "http://quyre.de/SignUpSch.N.php",
        data: {
            name: name,
            nname: nname,
            passwort: passwort,
            email: email,
            telnummer: telnummer,
            gebdatum: gebdatum,
            region: region
        },
        cache: false,
        success: function (data) {
            window.location = "http://quyre.de/LoginSch.html";
        }
    })
}

PHP Код:

$pdo = new PDO('mysql:host=host;dbname=name', 'lol', 'dasbestepasswort');

$name = htmlspecialchars($_POST['name'], ENT_QUOTES);
$nname = htmlspecialchars($_POST['nname'], ENT_QUOTES);
$passwort1 = htmlspecialchars($_POST['passwort'], ENT_QUOTES);
$passwort = password_hash($passwort1, PASSWORD_DEFAULT);
$email = htmlspecialchars($_POST['email'], ENT_QUOTES);
if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $Text = "Die Email-Adresse war ungültig";
  $datenzUE = json_encode(['Text' => $Text,'Go' => 0]);
  echo $datenzUE;
    die;
}
$telnummer = htmlspecialchars($_POST['telnummer'], ENT_QUOTES);
$gebdatum = htmlspecialchars($_POST['gebdatum'], ENT_QUOTES);
$region = htmlspecialchars($_POST['region'], ENT_QUOTES);
$gattung = md5( rand(0,1000000) );

$statement = $pdo->prepare("SELECT * FROM LoginSch WHERE eMail LIKE :eMail");
$statement->execute(array(':eMail' => $email));
$num = $statement->rowCount();

if ($num == 0) {
  $statement = $pdo->prepare("INSERT INTO LoginSch(pwd,nam,nnam,eMail,TNummer,GebDatum,Region,Gattung) VALUES(:passwort,:name,:nname,:eMail,:telnummer,:gebdatum,:region,:gattung)");

  $statement->bindParam(':passwort', $passwort, PDO::PARAM_STR);
  $statement->bindParam(':name', $name);
  $statement->bindParam(':nname', $nname);
  $statement->bindParam(':eMail', $email);
  $statement->bindParam(':telnummer', $telnummer);
  $statement->bindParam(':gebdatum', $gebdatum);
  $statement->bindParam(':region', $region);
  $statement->bindParam(':gattung', $gattung);

  $statement->execute();

  $to = "$email";
  $subject = "The subject";
  $txt = "Das ist eine wunderschöne mail alla beste :www.quyre.de/zertify.php?email=$email&hash=$gattung";
  $headers = "From: anmelden@quyre.de";

  mail($to,$subject,$txt,$headers);

  $Text = "Sie haben sich erfolgreich angemeldet";
  $datenzUE = json_encode(['Text' => $Text,'Go' => 1]);
  echo $datenzUE;
}elseif ($num > 0) {
  $Text = "Die Email-Adresse gibt es bereits";
  $datenzUE = json_encode(['Text' => $Text,'Go' => 0]);
  echo $datenzUE;
}
 ?>

новый код JS

$(document).ready(function(){
      //Button der Daten an PHP überträgt
        $('#sub').submit(function(event){
          event.preventDefault();
          var formValues = $(this).serialize();
    $.ajax({
    url:"quyre.de/SignUpSch.php",
    method:"POST",
    data:formValues,
    dataType:"JSON",
        success:function(data){
            if(data === 'ok'){
                $('#result').html(data);
            } else {
                $('#result').html(data);
                $('#frm')[0].reset();
            }
        }
    });
});
})
...