nach if fortsetzen

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

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

    Kommentar


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

      Kommentar


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

        Kommentar


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

          Kommentar


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

            Kommentar


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

              Kommentar


              • #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; } 
                Zuletzt geändert von chrissi11; 04.02.2008, 22:43.

                Kommentar


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

                  Kommentar


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

                    Kommentar


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

                      Kommentar


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

                        Kommentar


                        • #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";
                          ?>

                          Kommentar


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

                            Kommentar


                            • #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
                              Zuletzt geändert von chrissi11; 04.02.2008, 23:28.

                              Kommentar

                              Lädt...
                              X