PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   [gelöst] tage vor und zurückblättern (https://www.php-resource.de/forum/php-developer-forum/97874-geloest-tage-vor-und-zurueckblaettern.html)

schischi 22-10-2009 17:01

[gelöst] tage vor und zurückblättern
 
Hallo phpler,

ich möchte gerne mit buttons in der mysql zurück und vorblättern und das mit abfrage was gestern, vorgestern usw und morgen, übermorgen usw ist.

hier mal mein ansatz:
PHP-Code:

error_reporting(E_ALL);
ini_set("display_errors"TRUE);


if (isset(
$_POST['timestamp'])) $timestamp = ($_POST['timestamp']);


if(!isset(
$_POST['gestern']) AND !isset($_POST['morgen']))
{
$timestamp time();

$datum date("D, d.m.Y",$timestamp);


}

if (
$_POST['gestern']=='vorheriger Tag' )
{
$datum date("D, d.m.Y",$_POST['timestamp']-86400);
$timestamp=$_POST['timestamp']-86400;
}

elseif(
$_POST['morgen']=='nächster Tag')
{
$datum date("D, d.m.Y",$_POST['timestamp']+86400);
$timestamp=$_POST['timestamp']+86400;
}

echo 
'<form action="tage.php" method="post">';
echo 
'<input type="hidden" name="timestamp" value="'.$timestamp.'">';
echo 
'<input type="submit" name="gestern" value="vorheriger Tag"/>';
echo 
'</form>';

printf ($datum);

echo 
'<form action="tage.php" method="post">';
echo 
'<input type="hidden" name="timestamp" value="'.$timestamp.'">';
echo 
'<input type="submit" name="morgen" value="n&auml;chster Tag"/>';
echo 
'</form>'

zurück funktioniert, bei vorwärts kommen 2 Noticen:
PHP-Code:

Notice:  Undefined index:  gestern in S:Server????tage.php on line 84
if ($_POST['gestern']=='vorheriger Tag' )

Notice:  Undefined variabledatum in S:Server????tage.php on line 101
printf 
($datum); 

könntet ihr mir da bitte helfen?

danke im voraus

Kropff 22-10-2009 17:04

Die Notices sind nur ein Hinweis auf schlampigen Code, da die $_POST-Werte erst beim abschicken ermittelt werden. Pack die entsprechenden Abfragen in ein Oberbedingung à la
PHP-Code:

if (!empty($_POST))
{
  
// Hier dein POST-Abfragen


Peter

schischi 22-10-2009 17:18

Danke Peter Kropff, werde es versuchen, da ich noch nicht gut bin in php wird es ne Weile dauern!

Vielen Dank
schischi

schischi 22-10-2009 18:02

So haben sich die Noticen auch verabschiedet!:rocks:

PHP-Code:

if (isset($_POST['timestamp'])) $timestamp = ($_POST['timestamp']);
if(!isset(
$_POST['gestern']) AND !isset($_POST['morgen']))
{
$timestamp time();

$datum date("D, d.m.Y",$timestamp);

}

if (isset(
$_POST['gestern'])=='vorheriger Tag' )
{
$datum date("D, d.m.Y",$_POST['timestamp']-86400);
$timestamp=$_POST['timestamp']-86400;
}

echo 
'<form action="tage.php" method="post">';
echo 
'<input type="hidden" name="timestamp" value="'.$timestamp.'">';
echo 
'<input type="submit" name="gestern" value="vorheriger Tag"/>';
echo 
'</form>';





if(isset(
$_POST['morgen'])=="n&auml;chster Tag")
{
$datum date("D, d.m.Y",$_POST['timestamp']+86400);
$timestamp=$_POST['timestamp']+86400;
}

echo 
'<form action="tage.php" method="post">';
echo 
'<input type="hidden" name="timestamp" value="'.$timestamp.'">';
echo 
'<input type="submit" name="morgen" value="n&auml;chster Tag"/>';
echo 
'</form>';


if(isset(
$datum)){
printf ($datum);



schischi 24-10-2009 05:35

hab das Script umgeschrieben, so dass ich die Wochentage in Deutsch und mit
PHP-Code:

 $datum date("D, d.m.Y",$_POST['timestamp']-86400);
$timestamp=$_POST['timestamp']-86400

gab es Probleme.

das aktuelle Script:
PHP-Code:

$datum strftime("%a, %d.%m.%Y");


  

if (isset(
$_POST['datum'])) $datum = ($_POST['datum']);
if (empty(
$_POST)) 
{


}

if (isset(
$_POST['gestern'])=='vorheriger Tag' )
{
$datum strftime("%a, %d.%m.%Y"strtotime("-1 day"));

}


echo 
'<form  action="tage.php"  method="POST">';
echo 
'<input type="hidden" name="datum" value="'.$datum.'">';
echo 
'<input type="submit" name="gestern" value="vorheriger Tag" />';
echo 
'</form>';


if(isset(
$_POST['morgen'])=="n&auml;chster Tag")
{
$datum strftime("%a, %d.%m.%Y"strtotime("+1 day"));
}

echo 
'<form  action="tage.php"  method="POST">';
echo 
'<input type="hidden" name="datum" value="'.$datum.'">';
echo 
'<input type="submit" name="morgen" value="n&auml;chster Tag" />';
echo 
'</form>';



if(isset(
$datum)){
print_r ($datum);




das gestern und morgen klicken funktioniert leider nur jeweils einmal:confused:.

bitte um Hilfe, danke!
schischi

Kropff 24-10-2009 15:24

Worked as designed. Du übergibts ja immer nur ein und das selbe Datum. Du benötigst aber zwei verschiedene. Nämlich gestern und morgen. Außerdem sind deine Bedingungen so was von falsch. Die ganze Logik stimmt vorne und hinten nicht. Schau dir mal den folgenden Code an und lerne daraus:
PHP-Code:

if (!empty($_POST)) 
{
  if (!empty(
$_POST['datum']))
  {
    
$curr_date = ($_POST['datum']);
  }
  else
  {
    echo 
'Fehler!';
  }
}
else
{
  
$curr_date strtotime("now");
}
$yesterday strtotime("-1 day"$curr_date);
$tommorow strtotime("+1 day"$curr_date);
echo 
'<form  action="test.php"  method="POST">'."\n";
echo 
'<input type="hidden" name="datum" value="'.$yesterday.'">'."\n";
echo 
'<input type="submit" name="gestern" value="vorheriger Tag" />'."\n";
echo 
'</form>';
echo 
'<form  action="test.php"  method="POST">'."\n";
echo 
'<input type="hidden" name="datum" value="'.$tommorow.'">'."\n";
echo 
'<input type="submit" name="morgen" value="n&auml;chster Tag" />'."\n";
echo 
'</form>'."\n";
echo 
strftime("%a, %d.%m.%Y"$yesterday).'-'.strftime("%a, %d.%m.%Y"$tommorow); 

Peter

schischi 24-10-2009 16:19

You are the man:D, thanks und ich werde daraus lernen und auch auf deiner Hompage bin ich unterwegs, werde dein geachtete Arbeit auf deinen Seiten reinziehen, Hut ab, was du da zeigst ist feine Sahne, wird zwar noch ne Weile gehen bis ichs begriffen habe.

danke dir für deinen Support
machs gut
schischi


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:23 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG