kostenloser Webspace werbefrei: lima-city


Problem mit Cronjobs auf lima-city

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo zusammen,

    Ich habe ein tag/problem">Problem mit einem Cronjob hier auf lima-city. Dieser soll jeden Tag um 00:00 Uhr ausgeführt werden, was laut Protokoll auch immer bis auf einmal geklappt hat.

    Das Problem, dass ich allerdings habe, ist das der PHP Code anscheinend nicht ausgeführt wird, obwohl laut der Test Methode eindeutig Einträge zum löschen vorhanden sind (Siehe https://sownloader.com/functions/counter_del.php?action=test).

    Wenn ich nun den Code zum löschen manuell im Browser aufrufe, wird dieser auch ausgeführt und alles klappt wie es soll. Was mache ich falsch? Hier mal der eingerichtete Cronjob und das dazugehörige PHP-Script (Passwort unvollständig)

    Cronjob:
    0 0 * * * <cmd>

    https://sownloader.com/functions/counter_del.php?action=delete&code=b0dd4af7e749aa1


    Script:
    include("../connect/config.php");
    	
    	@$db = mysqli_connect($url, $user, $pw, $dbname);  
    	
    	$action   = mysqli_real_escape_string($db, $_GET['action']);
    	$code     = mysqli_real_escape_string($db, $_GET['code']);
    	
    	if($action == "delete" AND $code == "9a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b1"){
    		if($db == true){
    			
    			////Variabeln
    			$tag   	   = date("d");
    			$monat 	   = date("m");
    			$jahr 	   = date("Y");	
    			$timenow   = mktime(0,0,0,$monat,$tag,$jahr);
    			$gestern   = strtotime("-1 day");		
    			$alter_tag = date("d.m.Y",$gestern);
    			$ip 	   = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    			
    			/// MySQL Abfragen
    			$counter_del = $db->query("SELECT * FROM `counter` WHERE `timed` < '" . $timenow . "'"); 
    			$counter_new = $db->query("SELECT * FROM `counter` WHERE `ip` = '$ip'");
    			
    			/// Ergebnisse
    			$total_day_guests = $counter_del->num_rows;
    			$get_total_array  = $counter_del->fetch_array();
    				
    			$get_total        = $get_total_array['id'];
    			$get_time         = $get_total_array['timed'];
    			$datum_abfrage_db = date("d.m.Y",$get_time);	
    			
    			$db->query("INSERT INTO `counter_stats` (`date`,`guests`,`total`) VALUES ('$alter_tag', '$total_day_guests', '$get_total')");
    			$db->query("DELETE FROM `counter` WHERE timed < '$timenow'");
    			echo "Database successfully updated.";
    			mysqli_close($db);
    		}
    		else{
    			echo "Connection failed!";
    		}
    		
    	}



    Zum Abschluss noch eine Frage:

    Ist die Methode mit dem Code sicher, um die Funktion vor missbrauch zu schützen?

    Liebe Grüße,
    -Marvin

    EDIT: Problem gelöst, es lag am falschen Timestamp, der dafür gesorgt hat, dass die Einträge um 0 Uhr noch nicht als "alt" gewertet wurden.

    Beitrag zuletzt geändert: 12.4.2016 19:27:55 von marvinkleinmusic
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!