probleme mit includ variablen

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

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

    Comment


    • #3
      immernoch

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

      Comment


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


        <?

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

        muss man globals anders definieren ?
        FIAE

        Comment


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

          Comment


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

            Comment


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

              Comment


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

                Comment


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

                  Comment

                  Working...
                  X