probleme mit includ variablen

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

  • probleme mit includ variablen

    hi ich hab eine file login, da prüft er in einer datenbank ob der login passt (funktioniert auch alles toll)

    jetzt wollte ich die config sachen usw.. ein bisschen kapseln und habe mir in meiner config.php 4 variablen gemacht $user , $pw .... und denen werte zugewiesen.

    in einer weiteren datei (helpers) habe ich mir funktionen gesammelt wie zb

    mysql_connect

    So nun sagt mir mein login scrippt immer cannot connect to wwrun@localhost using Password(no) oder so ähnlich ^^

    Ich hab die config sowohl in der login.php includiert als auch in der helpers doch anscheinend kann er die werte der variablen nicht so richtig erfassen.

    woran könnte das liegen ?
    FIAE

  • #2
    PHP-Code:
    mysql_connect($host,$user,$pw);
    //probiers so
    mysql_connect($GLOBALS['host'],$GLOBALS['user'],$_GLOBALS['pw']); 
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      immernoch

      Access denied for user: 'wwwrun@localhost' (Using password: NO)
      FIAE

      Kommentar


      • #4
        ich mach in der config.php auch nir so


        <?

        $user="test";
        $pw="pw";
        usw...
        ?>

        muss man globals anders definieren ?
        FIAE

        Kommentar


        • #5
          muss man globals anders definieren ?
          Nein muss man nicht. Variabeln die ausserhalb von Fkt und Klassen definiert werden sind automatisch global in PHP. Die ganze $GLOBALS Sache brauchst du nur wenn du innerhalb von Funktionen oder Klassen auf diese Vars zugreifen willst.
          Deine helpers Datei inkludiert aber schon die config ? Ansonsten wundert es mich dass er anscheinend nicht den von dir definierten Username bei der Anmeldung verwendet.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            also ich post mal die files:

            Ordnerstruktur:

            / hier liegen die index.php usw..
            /config/ -> hier liegen die config und die herlpers.php


            config.php:

            PHP-Code:
              <?
              session_start();
              //Das zum Debugen aktivieren
              error_reporting(E_ALL);
              
              define('SMARTY_DIR', 'Smarty/');
              
              $url="index.php";
              //MYSQL DATA
              $host = "localhost";
              $user = "user";
              $pw = "pass";
              $db = "db";
              ?>
            helpers.php:

            PHP-Code:
            <?
              include('config.php');
                 
              function connect()
              {
              $con = @mysql_connect($host, $user, $pw) or die (mysql_error());
              @mysql_select_db($GLOBALS['db'], $con) or die (mysql_error());
              
              }
              //bringt uns sofort 
              function gohome()
              {  
              header("location:".$GLOBALS['url']); 
              }
              
              //setzt eine Log msg ab
              function Logger($msg, $typ)
              {
                /*
                verfuegbare Typen
                c - ritical
                i - nfo
                w - arning
                */
                connect();
                $qry_log = "INSERT INTO `log` ( `id` , `msg` , `typ` ) VALUES ('', '".$msg."', '".$typ."')";
                $ergebniss_log = mysql_query($qry_log) or die (mysql_error());
              }

            ?>
            login.php:

            PHP-Code:
            <?
            include 'config/config.php';
            include 'config/helpers.php';

            connect();
            //wenn alles io wird das auf 1 gesetzt !
            $loggedin = 0;
            //das PW in md5
            $pw = md5($password);
            //Falsches Pw oder User
            $fehler=0;

            $qry = "SELECT * FROM `user` WHERE `nick` = '".$login."' AND `pw` = '".$pw."' LIMIT 1";

            $ergebniss=mysql_query($qry) or die (mysql_error());

             while($row = mysql_fetch_object($ergebniss))
                {
                $password2 = $row->pw;
                }
                
                if ($password2 == $pw)
                {
                  $loggedin=1;
                  if ($_SESSION['online'] = $loggedin)
                  {
                    gohome();     
                  }
                  else
                  {
                    echo("Server Probleme versuchen sie es nocheinmal.");
                    gohome(); 
                  }        
                }
                else
                {
                    $fehler=1;
                    $_SESSION['fehler'] = $fehler;
                    gohome();
                }
            ?>
            FIAE

            Kommentar


            • #7
              Schreib bitte mal das folgende
              PHP-Code:
              //helpers.php

              $con mysql_connect($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pw']) or die (mysql_error());

              //config.php
              error_reporting(E_ALL); 
              Bei Problemen immer alle @ vor Funktionsaufrufen entfernen. Die Verbindung wird ja in einer eigenen Fkt hergestellt (connect()) und diese kann nur via $GLOBALS auf globale Vars zugreifen.

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                ahbs jetzt so

                PHP-Code:
                  $con mysql_connect($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pw']) or die (mysql_error());
                  
                mysql_select_db($GLOBALS['db'], $con) or die (mysql_error()); 
                gleicher fehler
                FIAE

                Kommentar


                • #9
                  Du hast das error_reporting aber schon auf E_ALL ? Und der bringt keine weiteren Fehlermeldungen ?

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar

                  Lädt...
                  X