Moin,
ich habe eine Responsive Webpage, die einen Button enthält der nach einem Klick eine DB Operation ausführen soll.
Der Code sieht so aus:
Die tvs_recommend_add.php nun folgendermaßen:
Das komische ist, bei einem Klick auf dem Desktop wird die Operation ausgeführt, in die DB geschrieben und der weitere Code nach data.status=="true" wird ausgeführt. Führe ich das Ganze nun z.B. auf meinem iPhone aus wird die Operation nach data.status=="true" ausgeführt, es wurde aber nichts in die DB geschrieben.
Hat da jemand eine Idee warum sich Desktop und Mobile hier so unterschiedlich verhalten und wie ich das beheben kann?
Danke!
Edit: Auf Android geht es, auf iOS nicht...
ich habe eine Responsive Webpage, die einen Button enthält der nach einem Klick eine DB Operation ausführen soll.
Der Code sieht so aus:
Code:
recommend : {
add : function(page_id) {
jQuery.post('tvs_recommend_add.php', {page_id:page_id}, function(data) {
if (data.status == 'true') {
...operation im erfolgsfall...
}
},'json');
},//add
}//recommend
Die tvs_recommend_add.php nun folgendermaßen:
PHP:
<?php
function addVoteForPageId($page_id, $ip) {
$db = @new mysqli('localhost', 'wp_tvs', 'passwd', 'dbname');
if (mysqli_connect_errno() == 0) {
$sql = "INSERT INTO `wp_likes` (`post_id`, `ip_address`) VALUES (?, ?);";
$ergebnis = $db->prepare($sql);
if (!$ergebnis) {
throw new Exception('Prepare kann nicht ausgefuehrt werden. Funktion: '.__FUNCTION__.' Klasse: '.__CLASS__.'. Error '.$db->error, $db->errno);
}//if (!$ergebnis)
$ergebnis->bind_param('is',$page_id, $ip);
if (!$ergebnis->execute()) {
throw new Exception('Execute kann nicht ausgefuehrt werden. Funktion: '.__FUNCTION__.' Klasse: '.__CLASS__.'. Error '. $ergebnis->error);
}//if (!$ergebnis->execute())
if (mysqli_errno($db) > 0) {
throw new Exception('Datenbankoperationsfehler. Funktion: '.__FUNCTION__.' Klasse: '.__CLASS__);
}
$ergebnis->close();
$db->close();
} else {
throw new Exception('Datenbankfehler. Funktion: '.__FUNCTION__.' Klasse: '.__CLASS__);
}
}//function
try {
//get page id
$page_id = $_POST['page_id'];
//addVote
addVoteForPageId($page_id, $_SERVER['REMOTE_ADDR']);
echo json_encode(array("status" => "true"));
} catch (Exception $e) {
echo json_encode(array("status" => "false", "text" => $e->getMessage()));
}
?>
Das komische ist, bei einem Klick auf dem Desktop wird die Operation ausgeführt, in die DB geschrieben und der weitere Code nach data.status=="true" wird ausgeführt. Führe ich das Ganze nun z.B. auf meinem iPhone aus wird die Operation nach data.status=="true" ausgeführt, es wurde aber nichts in die DB geschrieben.
Hat da jemand eine Idee warum sich Desktop und Mobile hier so unterschiedlich verhalten und wie ich das beheben kann?
Danke!
Edit: Auf Android geht es, auf iOS nicht...
Zuletzt bearbeitet: