nach if fortsetzen

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

  • nach if fortsetzen

    Hi zusammen.

    Ich hab mal eine frage.

    wie kann man, sobald man in einen if block gerät das darunterstehende script weiter laufen lassen ?
    ich bekomme das nicht so hin.

    PHP Code:
    if ($_SESSION['UserId']  )

    {
    $skin_name =  "$row->name"
    }
    else
    {
    $skin_name $config['skin_name'];
    }

    $skin_name "$row->tmp_name"
    ich möchte, das wenn die user id vorhanden ist die variable aus dem if block nimmt und anschließend das script weiterläuft mit der geänderten variable.
    das gleiche gilt für else.
    anscheinend wird das script dann nicht weiter ausgeführt.

    Danke schonmal

  • #2
    Dein if-else ist schon richtig. Du darfst nur $skin_name nicht direkt danach wieder überschreiben.

    Comment


    • #3
      Quatsch!!!

      PHP Code:
      if(true)
        
      $var 'hallo';
      else
        
      $var 'welt';

      echo 
      $var// ergibt 'hallo' 
      Weiß der geier, was du mit dem
      PHP Code:
      $skin_name "$row->tmp_name"
      bezwecken willst, aber gut...

      Comment


      • #4
        ne, hab vergessen das anzupassen beim posten:

        PHP Code:
        if ($_SESSION['UserId']  )

        {
        $skin_name =  "$row->name"
        }
        else
        {
        $skin_name $config['skin_name'];

        trotzdem ist es der fall, das wenn er in den if block springt, dass das darunter folgende script nicht weiter ausgeführt wird. er bleibt im if block stecken. warum ? und wie gehts weiter ?

        Comment


        • #5
          vielleicht wäre mal ein bisschen mehr code sinnvoll...
          Freedom is a state of mind. Not a state in which we live.

          troxdev.ch | animefieber

          Comment


          • #6
            voher kommt nix mehr was relevant wäre. deswegen wundert mich das ja auch ein bisschen.

            Comment


            • #7
              ja, wen interessiert VORHER wenn du willst, dass das script NACHHER weitermacht?
              Freedom is a state of mind. Not a state in which we live.

              troxdev.ch | animefieber

              Comment


              • #8
                mh, auch das danach sollte nicht relevant sein oder ?

                PHP Code:
                //  $skin_name = $config['skin_name'];
                $lang['site_name'] = $config['site_name'];
                define ('SITENAME'$config['site_name']);

                if (
                $_REQUEST['language']!= '') {$opt_lang=$_REQUEST['language'];}
                elseif (
                $_SESSION['opt_lang'] != '') {$opt_lang=str_replace("'",'',$_SESSION['opt_lang']);}
                elseif (
                $_COOKIE[$config['cookie_prefix'].'opt_lang'] != ''
                {
                $opt_lang=$_COOKIE[$config['cookie_prefix'].'opt_lang'];}
                else {
                $opt_lang=DEFAULT_LANG; } 
                Last edited by chrissi11; 04-02-2008, 21:43.

                Comment


                • #9
                  aaah, das problem ist ein anderes.
                  hab es gerade mit echo getestet.
                  also das funktioniert schon.

                  das problem ist, das der wert der aus der datenbank kommt und mittels
                  $row-> ausgegeben wird, kommt irgendwie nicht in der letzten zeile an.
                  wenn ich aber mit echo teste und diese ausgeben lasse, wird mir der richtige wert angezeigt der ausgelesen wurde.

                  warum kommt der wert nun nicht oder nicht richtig in der letzten variable an ?
                  ich habe folgendes getestet:

                  Funktioniert nicht:
                  PHP Code:
                  if ($_SESSION['UserId']  )

                  {
                  $chgskin_name =  "$row->tplname";
                  }
                  else
                  {
                  $chgskin_name $config['skin_name'];
                  }
                  ######

                  $skin_name "$chgskin_name"
                  wenn ich die letzte zeile:
                  PHP Code:
                  $skin_name "$chgskin_name"
                  mit dem original austausche
                  PHP Code:
                  $skin_name $config['skin_name']; 
                  dann klappt das. genauso als wenn ich die letzte zeile so zuweise
                  PHP Code:
                  $skin_name  "test"
                  wo ist das problem ?

                  Comment


                  • #10
                    PHP Code:
                    $skin_name "$chgskin_name"
                    wieso erstellst du einen string, um den inhalt einer variable zu bekommen? sowas ist müll.


                    was sagt error_reporting? mysql_error?
                    Freedom is a state of mind. Not a state in which we live.

                    troxdev.ch | animefieber

                    Comment


                    • #11
                      ja ich habs auf 100 verschiedene arten getestet mit beides mit und ohne "" oder ''

                      error reporting sagt garnix.

                      habs in der ersten zeile error_reporting( E_ALL );

                      mysql sagt garnix. von der bekomme ich den wert ja.
                      hab das schon mit echo getestet.

                      Comment


                      • #12
                        Zeig mal aktuellen "gesäuberten" Code. Du scheinst deinen Code mehr auf Copy&Paste sowie Ausprobieren zu stützen als auf Grundlagen. Die brauchst du aber...

                        Comment


                        • #13
                          ne tobi.. ich garantiere 100 % das da nix copy&paste ist.
                          kann sogar alles definieren. aber ich komme nicht weiter.
                          ist aber erwähnenswert, das ich noch nicht so lange an php dabei bin.
                          brauche manchmal evtl paar denkanstöße und korrekturen.

                          also hier erstmal der code:

                          PHP Code:
                          <?

                          $useridtest = $_SESSION['UserId'];


                          $abfrage = "SELECT * FROM osdate_user where id='$useridtest'";
                          $ergebnis = mysql_query($abfrage);
                          while($row = mysql_fetch_object($ergebnis)) 



                          ##############


                          if ($_SESSION['UserId']  )

                          {
                          $chgskin_name =  '$row->tplname'; //verwende benutzerdefiniertes tpl
                          echo "Ich bin im IF zweig"; 
                          }
                          else
                          {
                          $chgskin_name = $config['skin_name'];    // zeige default tpl wenn nicht online ist
                          echo "ich bin im ELSE zweig"; 
                          }
                          ######


                          $skin_name = "$chgskin_name";
                          ?>

                          Comment


                          • #14
                            Also ich glaube dir mal, dass das richtig ist:
                            PHP Code:
                            $chgskin_name =  '$row->tplname'//verwende benutzerdefiniertes tpl 
                            Aber
                            PHP Code:
                            $skin_name "$chgskin_name"
                            hierzu hatten wir eben was gesagt, und jetzt machst du den dreck schon wieder! Anführungszeichen da weg, aber zackig!

                            Und wo ist die Testausgabe???

                            Comment


                            • #15
                              ja tobi, das hab ich auch schon versucht. aber ohne erfolg eben.

                              hatte die echos entfernt, damit es übersichtlicher wird.
                              aber trotzdem kommt der wert nicht an.

                              PHP Code:
                              <?

                              $useridtest = $_SESSION['UserId'];


                              $abfrage = "SELECT * FROM osdate_user where id='$useridtest'";
                              $ergebnis = mysql_query($abfrage);
                              while($row = mysql_fetch_object($ergebnis)) 



                              ##############


                              if ($_SESSION['UserId']  )

                              {
                              $chgskin_name =  '$row->tplname'; //verwende benutzerdefiniertes tpl
                              echo "Ich bin im IF zweig"; 
                              }
                              else
                              {
                              $chgskin_name = $config['skin_name'];    // zeige default tpl wenn nicht online ist
                              echo "ich bin im ELSE zweig"; 
                              }
                              ######


                              $skin_name = $chgskin_name;
                              echo $skin_name;
                              ?>
                              und ja, habe auch getestet, ob der wert aus der db gelesen wird. mittels echo eben wieder. so:

                              PHP Code:
                              echo "$row->tplname"
                              und der wert wird ja auch angezeigt, also kommt der ja dann wohl auch da an oder ?
                              aber anscheinend wird der wert der variable von $chgskin_name
                              nicht in geändert .

                              >hier kommt nichts an<
                              $skin_name = $chgskin_name;

                              echo $skin_name; // kein inhalt
                              Last edited by chrissi11; 04-02-2008, 22:28.

                              Comment

                              Working...
                              X