mktime() Verständnisproblem

Watusimann

Erfahrenes Mitglied
Hallo,

Ich habe das Problem zwar in den Griff bekommen, würde aber gern wissen, wie man den Code kürzer gestalten kann. Oder ist dies nicht möglich ?
Ich übergebe per GET ein Datum (Bsp:11.07.2007)
Dieses Datum ist vorab mit mktime() um 0Uhr in die DB gepflegt worden [mktime(0, 0, 0, 07, 11, 2007)] ... Jetzt möchte ich dieses wieder abrufen ...
PHP:
$date=explode(".",$_GET['subDate']);
	$day=$date[0];
	$month=$date[1];
	$year=$date[2];
	$date=mktime(0,0,0,$month,$day,$year);	
	
	$result = mysql_query("SELECT ... FROM ... WHERE showdisplay='".$date."' ");
mktime($_GET['subDate']) -> gibt was anderes aus
mktime(0, 0, 0, $_GET['subDate']) -> gibt auch was anderes aus
:confused:

vielen Dank schonmal im Voraus
 
Grundsätzlich kannst Du Deine Variable erstmal mit strtotime() in ein ordentliches Format konvertieren,bevor du das abschickst. Eine Browserzeile lädt viele ein, ein bissi zu testen, wie deine Seite so reagiert. unter Umständen lässt sich damit sogar ein Angriff zurechtbasteln.

PHP:
$date = strtotime(date("Y-m-d H:i:s"));
echo '<form method="POST" action="seite.php?d='.$date.'">';
echo "rest des Formulars";
echo '</form>';

Auf der anderen Seite des Formulars holst Du Dir das Datum dann zurück:
PHP:
$date = intval($_GET['d']); // hier intval um sicher zu sein, dass kein Text übertragen wurde
$date = date( "d.m.Y H:i", $date ); // konvertiere Datum zurück in lesbares Format
echo $date;

LG
Andy
 
Habe das Datum mit checkdate() geprüft, welches false zurückgibt, wenn das Datumsformat, keine nummäre Eingabe erfolgt ist oder beispielsweise 34.13.2006 eingegeben wird. Das wäre die Eingabe in die DB. Mit dem angesprochenen Angriffsproblem sollte ich nochmal angehen... vielen Dank für die Hilfe
 
Zurück