mysql dann Session befüllt und dann klappt header() nicht mehr...

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

  • mysql dann Session befüllt und dann klappt header() nicht mehr...

    Hi,

    wie die überschrift schon sagt, habe ich in einer "speicher-Seite"

    ein paar MySQL Querys, das SESS-Array wird neu befüllt und am Ende soll er per header() die Seite wechseln, das tut er aber nicht. Eine Ausgabe am Browser mittels echo o.ä. geschieht vorher nicht, weiß jmd rat?
    Der komplette Code wäre etwas zu lang zum posten, daher nur ein 'paar' Auszüge:

    PHP-Code:
    if(!$updatevote_usertab_erg){
         
    // $errorcode=7  ::: Datenbankproblem speichern nicht möglich
         // mail() admin
         
    header("Location: e_vote.php?errorcode=7");
         
    header ("Location: main.php");
         break;
         }

    if(
    $_SESSION['u_vote'] = $sevoteend){
        
    header ("Location: main.php");
        break;
        }

    }
    //header ("Location: logout.php");
    echo 1;
    break; 
    >>> KEINE AUSGABE

    PHP-Code:
    if(!$updatevote_usertab_erg){
         
    // $errorcode=7  ::: Datenbankproblem speichern nicht möglich
         // mail() admin
         
    header("Location: e_vote.php?errorcode=7");
         
    header ("Location: main.php");
         break;
         }
    echo 
    1;
    break;
    if(
    $_SESSION['u_vote'] = $sevoteend){
        
    header ("Location: main.php");
        echo 
    1;
        break;
        }
    echo 
    1;
    break;
    }
    //header ("Location: logout.php");
    echo 1;
    break; 
    >>> AUSGABE:

    1
    Fatal error: Cannot break/continue 1 level in d:\vserver.net\se_vote.php on line 114

    Is zwar ne Fehlermeldung (ohne dem break gib er dummerweise gar nichts aus), aber egal, das bedeutet ja er kommt bis zu:

    if($_SESSION['u_vote'] = $sevoteend){
    header ("Location: main.php");
    echo 1;
    break;
    }

    Da ich dort dem SESS-Array den Wert zuweise und nicht überprüfen, müsste die if bedingung ja erfüllt sein, jedoch wechselt er nciht nach main.php. Hat jmd ne Ahnung waran's liegen könnte bzw. wie ich das lösen kann??

  • #2
    ich würde mal diese ganzen breaks rausnehmen, die machen überhaupt keinen Sinn.
    Und solange du echo vor header(..) stehen hast, wird er dich niemals weiterleiten.
    hopka.net!

    Kommentar


    • #3
      Ja, scheint hin zuhauen, allerdings gibt es jetzt ein neues Problem mit folgender Fehlermeldung:

      Duplicate entry '00000002' for key 1

      Hier der Code: man beachte den SESS Wert...

      PHP-Code:
      //$_SESSION['u_vote'] hat den Wert "jpg"

      if ($_SESSION['u_vote'] == "gif" || $_SESSION['u_vote'] == "jpg"){
      $votequery "UPDATE voting SET v_pic = '".$sevoteend."', v_1 = 0, v_2 = 0, v_3 = 0, v_4 = 0, v_5 = 0, v_6 = 0, v_7 = 0, v_8 = 0, v_9 = 0, v_10 = 0, v_lastlogin = '".$lastlogin_date."', v_ip = '".$_SERVER['REMOTE_ADDR']."' WHERE v_id='".$_SESSION['u_id']."'";
      }
      else{
      $votequery "INSERT INTO voting (v_id, v_pic, v_lastlogin, v_ip) VALUES('".$_SESSION['u_id']."', '".$sevoteend."', '".$lastlogin_date."', '".$_SERVER['REMOTE_ADDR']."')";
      }

      $voteerg mysql_query($votequery) or die(mysql_error()); 

      Es kann dann doch gar nicht die insert query eunsetzen, die zu einem doppelten eintrag führen könnte...??!

      Kommentar


      • #4
        PROBLEM gelöscht

        Hatte werte mittels if(bla bla == 0)

        anstatt if(bla bla == "0") geprüft...

        Kann dazu noch mal kurz jmd stellung nehmen und sagen warum das so ist?

        Kommentar


        • #5
          Ich denke deine Frage bezieht sich auf if($foo == 0) oder?

          Also wenn du if($foo == "0") schreibst ist die 0 kein Integer sondern ein String, das ist schon das Ganze Geheimniss an der sache.
          Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
          (Albert Einstein)

          Kommentar

          Lädt...
          X