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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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

  • #2
    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

    Comment


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

      Vielen Dank
      schischi

      Comment


      • #4
        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&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);

        Comment


        • #5
          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.

          bitte um Hilfe, danke!
          schischi

          Comment


          • #6
            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
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Comment


            • #7
              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
              Last edited by schischi; 24-10-2009, 15:38.

              Comment

              Working...
              X