Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz aktualisieren und weiterleiten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datensatz aktualisieren und weiterleiten

    Hallo,

    ich beschäftige mich seit 1-2 Wochen erst mit PHP, und habe mit folgendem Code Probleme:
    PHP-Code:
    ...
    //Benutzerdaten
    $host     'xxx';
    $username 'xxx';
    $password 'xxx';
    $database 'xxx';  

    // per Verweis
    $do $_GET['do']; 
     
    if(
    $do == 'abmelden') {    
    mysql_query
    ('UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), SET `AbZeit` = CURTIME() WHERE `AnmeldeID` = '.$_SESSION['id'], $link);        

    //Beendet die Session
    session_unset();    
    session_unregister();    
    session_destroy();        

    //Aufrauf der Seite
    header'Location: abgemeldet.php' );
    exit;
    }
    ... 
    Ausführen will ich das ganze mit:
    Code:
    <a href="<?php echo $_SERVER['PHP_SELF']. "?do=abmelden"; ?>" target="_parent">Abmelden</a>
    oder
    Code:
    <a href="start.php?do=abmelden">Abmelden</a>
    Beides funktioniert nicht.
    Mit dem klick auf abmelden, meldet sich ein User ab. Dabei soll ein Datensatz in der Tabelle "tbl_anmeldung" aktualisiert werden und danach auf die Seite "abgemeldet.php" weitergeleitet werden. Leider passiert weder das eine noch das andere. Mit oder ohne target auch kein Erfolg!

    Wenn ich den Link auf eine Frameseite (Frame oben/mitte/unten) mache, wird die Seite wo der Link ist nicht verändert, die beiden anderen werden aber geschlossen. Eine Aktualisierung in der Datenbank wird aber nicht durchgeführt. Mit "CURDATE()" + "CURTIME()" soll übrigens Datum/Zeit wenn auf "Abmelden" geklickt wird eingetragen werden. Ist das auch richtig!?

    Die Verbindung zur Datenbank wird richtig aufgebaut (mit den gleichen Verbindungsdaten, wird ein Datensatz vorher ja schon angelegt) auch sind die Felder alle richtig! Wieso wird noch nicht einmal auf die Seite "abgemeldet.php" weitergeleitet!? Alle Seiten liegen auch in dem gleichen Ordner!

    Kann mir hier jemand helfen! DANKE!
    Gruß aus dem Saarland
    Einfach ich...


  • #2
    error_reporting() ... ?
    Fehlermeldungen ... ?
    mysql_error() ... ?
    var_dump() ... ?
    PHP-Code:
    if ( $humans >= ) {
       
    war ();

    Kommentar


    • #3
      Hallo,

      zunächst einmal DANKE für die SUPERSCHNELLE Antwort!
      Brachte leider keinen Erfolg!
      PHP-Code:
      ... 
      //Benutzerdaten 
      $host     'xxx'
      $username 'xxx'
      $password 'xxx'
      $database 'xxx';   

      // per Verweis 
      $do $_GET['do'];  
        
      if(
      $do == 'abmelden') {     
      mysql_query 
      ('UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), SET `AbZeit` = CURTIME() WHERE `AnmeldeID` = '.$_SESSION['id'], $link);         

      if ( 
      $humans >= ) {
         
      war ();


      //Beendet die Session 
      session_unset();     
      session_unregister();     
      session_destroy();         

      //Aufrauf der Seite 
      header'Location: abgemeldet.php' ); 
      exit; 

      ... 
      Bleibt alles wie bisher
      Gruß aus dem Saarland
      Einfach ich...

      Kommentar


      • #4
        Zitat von OhneMaske Beitrag anzeigen
        Hallo,

        ich beschäftige mich seit 1-2 Wochen erst mit PHP, und habe mit folgendem Code Probleme:
        PHP-Code:
        ...
        //Benutzerdaten
        $host     'xxx';
        $username 'xxx';
        $password 'xxx';
        $database 'xxx';  

        // per Verweis
        $do $_GET['do']; 
         
        if(
        $do == 'abmelden') {    
        mysql_query
        ('UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), SET `AbZeit` = CURTIME() WHERE `AnmeldeID` = '.$_SESSION['id'], $link); 
        Wo genau wird denn hier die Datenbankverbindung aufgebaut?
        Ist error_reporting(-1) und display_errors an?
        "My software never has bugs, it just develops random features."
        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

        Kommentar


        • #5
          ich würd amal sagen über dem ... oda so, unterhalb wäre blöd ^^
          PHP-Code:
          if ( $humans >= ) {
             
          war ();

          Kommentar


          • #6
            Hallo,

            ich verstehe nicht - wie gesagt erst 1-2 Wochen PHP!
            Hier einmal der komplette PHp-Code der Seite:

            PHP-Code:
            <?php   
            // Session starten  
            session_start ();  

            // Datenbankverbindung aufbauen   
            $connectionid  mysql_connect ("xxx""xxx""xxx");   
            if (!
            mysql_select_db ("startportal"$connectionid))   
            {   
              die (
            "Keine Verbindung zur Datenbank");   
            }   

            $sql "SELECT ".   
                
            "BenutzerId, BenName, nName, vName, Email, GebDat, Hobbys, Rechte ".   
              
            "FROM ".   
                
            "tbl_benutzer ".   
              
            "WHERE ".   
                
            "(BenName like '".$_REQUEST["name"]."') AND ".   
                
            "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";   
            $result mysql_query ($sql);   

            if (
            mysql_num_rows ($result) > 0)   
            {   
              
            // Benutzerdaten in ein Array auslesen.   
              
            $data mysql_fetch_array ($result);   

              
            // Sessionvariablen erstellen und registrieren   
              
            $_SESSION["user_benutzerid"] = $data["BenutzerId"];   
              
            $_SESSION["user_benname"] = $data["BenName"];   
              
            $_SESSION["user_nname"] = $data["nName"];   
              
            $_SESSION["user_vname"] = $data["vName"]; 
              
            $_SESSION["user_email"] = $data["Email"];   
              
            $_SESSION["user_gebdat"] = $data["GebDat"];   
              
            $_SESSION["user_hobbys"] = $data["Hobbys"];   
              
            $_SESSION["user_rechte"] = $data["Rechte"];   
               

              
            header ("Location: intern.php");   
            }   
            else   
            {   
              
            header ("Location: formular.php?fehler=1");   
            }   

            //Formularfelder als Variable 
              
            $name $_POST["name"]; 
              
            $pwd $_POST["pwd"]; 
              
            $ip $_POST["ip"]; 
              
            $datum $_POST["datum"]; 
              
            $zeit $_POST["zeit"]; 
              
            $user $_POST["user"]; 
              
            $browser $_POST["browser"]; 
              
            $abdatum $_POST["abdatum"]; 
              
            $abzeit $_POST["abzeit"]; 

            //Benutzerdaten 
            $host     'xxx'
            $username 'xxx'
            $password 'xxx'
            $database 'xxx';  

            $link mysql_connect($host$username$password) or die(mysql_error());
            mysql_select_db($database$link);  

            //Datensatz anlgen 
            $eintrag "INSERT INTO tbl_anmeldung 
            (Benutzer_F, IPAdress, Datum, Zeit, User, Browser, AbDatum, AbZeit) 
            VALUES 
            ('
            $name', '$ip', '$datum', '$zeit', '$user', '$browser', '$abdatum', '$abzeit')"
            $eintragen mysql_query($eintrag); 

            //Letzte hinzugefuegte ID ermitteln 
            $id mysql_insert_id($link); 
            $_SESSION['id'] = $id



            //Benutzerdaten 
            $host     'xxx'
            $username 'xxx'
            $password 'xxx'
            $database 'xxx';


            // Abmelden und Datensatz aktualisieren per Verweis

            $do $_GET['do']; 
             
            if(
            $do == 'abmelden') {    
            mysql_query
            ('UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), SET `AbZeit` = CURTIME() WHERE `AnmeldeID` = '.$_SESSION['id'], $link);        

            if ( 
            $humans >= ) {
               
            war ();



            //Beendet die Session
            session_unset();    
            session_unregister();    
            session_destroy();        

            //Aufrauf der Seite
            header'Location: abgemeldet.php' );
            exit;
            }

            ?>
            Es kommen keinerlei Fehlermeldungen! Warum muss man denn eigentlich die Benutzerdaten zur Datenbank innerhalb einer Seite merhmals eingeben - ist das richtig! Oder ist das vielleicht ein Problem!

            Auch hatte ich schon diese Stelle:
            ...
            $link = mysql_connect($host, $username, $password) or die(mysql_error());
            mysql_select_db($database, $link);
            ...

            nochmals unter dem zweiten Block Benutzerdaten eingefügt! Auch ohne Erfolg!

            Alles andere funktioniert einwandfrei! Login wird überprüft Weiterleitung bzw. Fehlermeldung kommt! Datensatz wird angelegt!
            Gruß aus dem Saarland
            Einfach ich...

            Kommentar


            • #7
              Zitat von OhneMaske Beitrag anzeigen
              PHP-Code:
              <?php   
              // Datenbankverbindung aufbauen   
              $connectionid  mysql_connect ("xxx""xxx""xxx");   
              if (!
              mysql_select_db ("startportal"$connectionid))   
              {   
                die (
              "Keine Verbindung zur Datenbank");   
              }   

              .....

              //Benutzerdaten 
              $host     'xxx'
              $username 'xxx'
              $password 'xxx'
              $database 'xxx';  

              $link mysql_connect($host$username$password) or die(mysql_error());
              mysql_select_db($database$link);
              Stehen in $host, $username, usw. die selben Werte die du oben mysql_connect() benutzt? Für mich macht es den Anschein, als wären das unten Benutzerspezifische Daten, mit denen du keine DB-Connection aufbauen kannst.
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                Hallo,

                es stehen überall die gleichen Werte drin! Sonst würde ja auch das Datensatz anlegen nicht funktionieren. Also an den Benutzerdaten kann es nicht liegen! Dass ja noch nicht einmal die Weiterleitung am Schluss auf "abgemeldet.php" funktioniert ist für mich unerklärlich - und das hat doch auch nichts mit den Benutzerdaten zu tun - oder!?
                Gruß aus dem Saarland
                Einfach ich...

                Kommentar


                • #9
                  Es kommen keinerlei Fehlermeldungen!
                  Dann aktiviere bitte die Fehleranzeige. http://de.php.net/manual/en/book.errorfunc.php
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    PS: LOL
                    PHP-Code:
                    // Abmelden und Datensatz aktualisieren per Verweis

                    $do $_GET['do']; 
                     
                    if(
                    $do == 'abmelden') {    
                    mysql_query
                    ('UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), SET `AbZeit` = CURTIME() WHERE `AnmeldeID` = '.$_SESSION['id'], $link);        

                    if ( 
                    $humans >= ) {
                       
                    war ();



                    //Beendet die Session 
                    Flugs mal die Signatur eingebaut. Vielleicht kann mans ja gebrauchen, wa?
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Zitat von OhneMaske Beitrag anzeigen
                      mysql_query (
                      'UPDATE `tbl_anmeldung`
                      SET `AbDatum` = CURDATE(),
                      SET `AbZeit` = CURTIME()
                      WHERE `AnmeldeID` = '.$_SESSION['id'], $link);
                      Ich mag mich irren, aber das sieht leicht falsch aus...
                      "My software never has bugs, it just develops random features."
                      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                      Kommentar


                      • #12
                        Zitat von Paul.Schramenko Beitrag anzeigen
                        Ich mag mich irren, aber das sieht leicht falsch aus...
                        Ja da ist ein SET zuviel.

                        PHP-Code:
                        mysql_query (
                        'UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), `AbZeit` = CURTIME() 
                        WHERE `AnmeldeID` = '
                        .$_SESSION['id'], $link); 

                        Kommentar


                        • #13
                          Zitat von BlackSpirit Beitrag anzeigen
                          Ja da ist ein SET zuviel.
                          Ich weiß, aber ich finds einfach nur lächerlich, dass behauptet wird, das alle Fehlerausgaben eingeschaltet sind, dass mysql keine fehler verursacht, usw. und dann so ein syntaktischer Quatsch nicht angezeigt wird...
                          "My software never has bugs, it just develops random features."
                          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                          Kommentar


                          • #14
                            PHP-Code:
                            mysql_query 
                            'UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), `AbZeit` = CURTIME()  
                            WHERE `AnmeldeID` = '
                            .$_SESSION['id'], $link) or die(mysql_error()); 
                            Ohne dem wird kein error ausgegeben.

                            Kommentar


                            • #15
                              Hallo,

                              Ich weiß, aber ich finds einfach nur lächerlich, dass behauptet wird, das alle Fehlerausgaben eingeschaltet sind, dass mysql keine fehler verursacht, usw. und dann so ein syntaktischer Quatsch nicht angezeigt wird...
                              Ich hab doch nicht behauptet, dass ich die eingeschaltet habe...wußte bisher gar nicht wie man das macht! Habe es jetzt so probiert...
                              PHP-Code:
                              ...
                              mysql_query 
                              'UPDATE `tbl_anmeldung` SET `AbDatum` = CURDATE(), `AbZeit` = CURTIME()  
                              WHERE `AnmeldeID` = '
                              .$_SESSION['id'], $link);  

                              if ( 
                              $humans >= ) {
                                 
                              war ();



                              echo 
                              $a;
                              print_r(error_get_last());
                              ... 
                              Leider alles ohne Erfolg - gleiches Ergebnis wie bisher...
                              Gruß aus dem Saarland
                              Einfach ich...

                              Kommentar

                              Lädt...
                              X