Ganz dicke dinger - Profi hilfe benötigt...

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

  • Ganz dicke dinger - Profi hilfe benötigt...

    PHP-Code:
    $a=1;
    if (
    $a==1/*!isset($_FILES['v_pic']) OR $_FILES['v_pic']['error']*/){
        
    // $errorcode=2  ::: Fehler beim Bildupload
        
    header("Location: e_vote.php?errorcode=2");
        
    //break;
        

    ER GEHT NICHT IN DEN IF TEIL ZUMINDEST NIMM ER NICHT DIE HEADER()-FUNKTION

    Wenn ich jetzt den Break wieder reinnehmen:

    PHP-Code:
    $a=1;
    if (
    $a==1/*!isset($_FILES['v_pic']) OR $_FILES['v_pic']['error']*/){
        
    // $errorcode=2  ::: Fehler beim Bildupload
        
    header("Location: e_vote.php?errorcode=2");
        break;
        } 
    Geht's... Dann hab ich aber wieder Probleme mit zwei Querys der MySQL (
    Kann mir mir da bitte jmd weiterhelfen sitze an dieser Problematik schon seit Tagen und habs jetzt wohl so am besten eingegrentzt...

    Kann ich vielleicht wem das komplette Script zusenden?

  • #2
    Re: Ganz dicke dinger - Profi hilfe benötigt...

    btw: ein korrekter location header enthält einen vollständigen URL.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Füge es doch als Attachment an deinen Post dran...
      mfg
      Günni


      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
      City-Tiger - Online durch die Straßen tigern...

      Kommentar


      • #4
        CODE

        PHP-Code:
        <?

        session_start();

        if($_SESSION['u_status']!=1){
            header("Location: login.php");
            }

        include("inc/connect.inc.php");

        $debug = $_POST['d_vote'];
        if ($_POST['d_vote']!="" && $_SESSION['u_vote'] !=0){

             $deletevotequery = "DELETE FROM voting WHERE v_id='".$_SESSION['u_id']."'";;
             $deletevoteerg = mysql_query($deletevotequery);

             if (!$deletevoteerg){
                // $errorcode=1  ::: Datenbankproblem, please try again later
                // mail() an admin
                header("Location: e_vote.php?errorcode=1");
                //break;
                }

             $updatedeletevotequery ="UPDATE user SET u_vote = '0' WHERE u_id='".$_SESSION['u_id']."'";

             $updatedeletevoteerg = mysql_query($updatedeletevotequery);

             if (!$updatedeletevoteerg){
                 // $errorcode=1  ::: Datenbankproblem, please try again later
                 // mail() an admin
                 header("Location: e_vote.php?errorcode=1");
                 //break;
                 }

             $d_picpath = "u_pics/voting/".$_SESSION['u_id'].".".$_SESSION['e_voting'];
             unlink($d_picpath);
             // RÜCKGABEWERTE PRÜFEN !!!
             $_SESSION['u_vote'] = 0;
             header("Location: main.php?gode=".$debug);
             //break;
        }

        else{
        $a=1;
        if ($a==1/*!isset($_FILES['v_pic']) OR $_FILES['v_pic']['error']==""*/){
            // $errorcode=2  ::: Fehler beim Bildupload
            header("Location: e_vote.php?errorcode=2");
            //break;
            }

        if ($_FILES['v_pic']['size'] >= "20001") {
            // $errorcode=3  ::: Bild größer als 20K
            header("Location: e_vote.php?errorcode=3");
            //break;
            }

        $sevoteprop = getimagesize($_FILES['v_pic']['tmp_name']);
        if ($sevoteprop[0] > "300" || $sevoteprop[1] > "350"){
             // $errorcode=4  ::: Bild größer als 300 x 350 pxl
             header("Location: e_vote.php?errorcode=4");
             //break;
             }

        if ($sevoteprop[2] != "1" && $sevoteprop[2] != "2"){
             // $errorcode=5  ::: Bild hat falsches Format
             header("Location: e_vote.php?errorcode=5");
             //break;
             }

        switch($sevoteprop[2]){
                case "1": $sevoteend = "gif"; break;
                case "2": $sevoteend = "jpg"; break;
                }
        $sevotepath = "u_pics/voting/".$_SESSION['u_id'].".".$sevoteend;

        if (!move_uploaded_file($_FILES['v_pic']['tmp_name'],$sevotepath)){
             // $errorcode=6  ::: Bild konnte nicht auf Server kopiert werden
             // mail() admin
             header("Location: e_vote.php?errorcode=6");
             //break;
             }

        $lastlogin_date =  mktime();

        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']."')";
             }
        echo $_SESSION['u_vote']."<br>".$votequery;
        $voteerg = mysql_query($votequery) or die(mysql_error());

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

        $updatevote_usertab_query = "UPDATE user SET u_vote = '".$sevoteend."' WHERE u_id='".$_SESSION['u_id']."'";

        $updatevote_usertab_erg = mysql_query($updatevote_usertab_query) or die(mysql_error());
        mysql_close();
        if(!$updatevote_usertab_erg){
             // $errorcode=7  ::: Datenbankproblem speichern nicht möglich
             // mail() admin
             header("Location: e_vote.php?errorcode=7");
             //break;
             }

        $_SESSION['u_vote'] = $sevoteend;

        }

        ?>
        PS: Das ist die komplette Seite, kein HTML oder sonstiges ist noch dabei...

        Kommentar


        • #5
          Re: Re: Ganz dicke dinger - Profi hilfe benötigt...

          Original geschrieben von wahsaga
          btw: ein korrekter location header enthält einen vollständigen URL.
          seit wann denn das ?
          dann dürften all meine Scripte nicht gehen

          zum header():

          nach der header() Anweisung sollte immer ein exit() kommen,
          da sonst das Script weiter abgearbeitet wird.

          also sollte dies gehen

          PHP-Code:
          $a=1;
          if (
          $a==1){
             
          header("Location: e_vote.php?errorcode=2");
             exit();

          und nimm diese ganzen break's da raus, die haben da nichts
          zu suchen. breaks sind dazu da, Schleifen vorzeitig zu verlassen.
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            Danke - scheint hin zuhauen...!

            Kommentar


            • #7
              Re: Re: Re: Ganz dicke dinger - Profi hilfe benötigt...

              Original geschrieben von TBT
              seit wann denn das ?
              Schon immer, bzw. seit es das HTT-Protokoll gibt!
              RFC2616: http://www.w3.org/Protocols/rfc2616/rfc2616


              "...HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema, Hostnamen und absoluten Pfad als Argument von Location:, aber manche Clients akzeptieren auch relative URIs. ..."
              Aus dem Manual:
              http://de3.php.net/manual/de/function.header.php

              dann dürften all meine Scripte nicht gehen
              Der Header wird vom Script gesetzt, jedoch vom Client (dem Browser) verarbeitet. Das alle (?) gängigen Browser relative Location-Angaben anscheinend(!) korrekt verarbeiten liegt nur daran, dass sie nicht dem Protokoll konform arbeiten -> ein Zubrot an den Programmierer :-)

              7-/anz

              Kommentar

              Lädt...
              X