JQuery DB Operation geht auf Desktop aber nicht auf Mobile

Trash

Erfahrenes Mitglied
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:

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:
Zurück