| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

22-10-2009, 17:01
|
|
schischi
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 66
|
|
[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ä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 variable: datum in S:Server????tage.php on line 101 printf ($datum);
könntet ihr mir da bitte helfen?
danke im voraus
|

22-10-2009, 17:04
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
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
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

22-10-2009, 17:18
|
|
schischi
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 66
|
|
Danke Peter Kropff, werde es versuchen, da ich noch nicht gut bin in php wird es ne Weile dauern!
Vielen Dank
schischi
|

22-10-2009, 18:02
|
|
schischi
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 66
|
|
So haben sich die Noticen auch verabschiedet!
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ä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ächster Tag"/>'; echo '</form>';
if(isset($datum)){ printf ($datum); }
|

24-10-2009, 05:35
|
|
schischi
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 66
|
|
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ä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ächster Tag" />'; echo '</form>';
if(isset($datum)){ print_r ($datum);
}
das gestern und morgen klicken funktioniert leider nur jeweils einmal  .
bitte um Hilfe, danke!
schischi
|

24-10-2009, 15:24
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
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ächster Tag" />'."\n";
echo '</form>'."\n";
echo strftime("%a, %d.%m.%Y", $yesterday).'-'.strftime("%a, %d.%m.%Y", $tommorow);
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

24-10-2009, 16:19
|
|
schischi
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 66
|
|
You are the man  , 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
Geändert von schischi (24-10-2009 um 16:38 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|