PHP / MySQL Veritabanı Sorunları

2 Cevap php

PHP / MySQL acemi bir soru.

Ben benim yerel phpmyadmin içine ithal ettik bir veritabanı var. Ancak benim bir php uygulamadan erişemez görünüyor. Bağlantı dizesi doğru görünüyor ve ben veritabanı bilgilerini, herhangi bir sorun erişmek için kullanıcı kimlik bilgilerini doğrulamak için çalıştığınızda.

Ancak herkesin kimliğini ve ben sahte kimlik koyduğunuzda bilir. Hala veritabanından herhangi diğer bilgileri çekmeyin.

Örneğin, bir kez kullanıcıların bir şey gibi, "Merhaba kullanıcı adı", bu tür şeyler görmek gerekir giriş. Bu noktada kullanıcı adı olmadan "Merhaba" bkz. Ben ne herhangi bir fikir eksik olabilir?

2 Cevap

Paylaşılan bazı ana atamak zorlamak - I (. Bunu burada amaçlara yazabilmek için sadece eklenmiştir emin değilim gerçi) Eğer root ne kullanıyorsanız barındırma ortamı bağlı olarak bu ya da bir sorun olabilir veya olmayabilir kullandığınız fark MySQL veritabanları için bir kullanıcı.

Şeyler görünüyor itibaren, sorgu yürütme olmalıdır ve en az satır sayısını döndürür. Senin sonuçları dizide print_r denediniz mi? Eğer öyleyse, çıktı gönderebilir miyim?

Eğer başarılı bir veritabanından sonuçlar alıyorsanız, ben senin yayınlanmıştır kodunda herhangi bir başarı mesajı echos bir koşullu görmüyorum. Eğer atamak $ _SESSION tuşları (recordID ve firstName) karşı ve zaten yapmadıysanız eğer gerçek bir başarı mesajı echo () isset kontrol etmek isteyebilirsiniz.

Just a thought as well - I noticed you are using sprintf to format out your query - it may be a bit too robust for what you're trying to accomplish, but using PDO to get parameterized sql queries is a nice way to get that job done where available. Introduction to PHP 5 PDO

Tamam bütün ileri ve geri çocuklar için üzgünüm. Burada mesele. Ben bir php uygulaması var ve MySQL veritabanı bağlantılı (ya da en azından ben öyle umuyorum ...). kullanıcıların oturum için sayfamın başlığında bir form var. i giriş CAN ama veritabanından herhangi bir bilgi çekmek için görünmüyor olabilir. I sahte kimlik bilgilerini kullanarak oturum çalışırsanız ben bir "yanlış login" mesajı verilen ediyorum. I giriş yaptığınızda Ancak bu kimlik dışındaki veritabanından başka bir şey çekmek için görünmüyor olabilir.

Tamam burada kod ...

DATABASE CONNECTION:

<?php
session_start();

# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_test = "localhost";
$database_test = "girlpower";
$username_test = "root";
$password_test = "password";
$test = mysql_pconnect($hostname_test, $username_test, $password_test) or trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db($database_test, $test);
?>

HERE'S THE LOGIN CODE:

<?php
require_once("includes/db.php");

$userEmail = trim($_POST['userEmail']);
$password = trim($_POST['password']);
$userlogin = trim($_POST['userlogin']);

//print_r($_POST);

if ($userlogin != ""  &&  $userEmail != "" && password != ""  )
{
    $sql = sprintf("Select * from girlpower where email = '%s' and pwd = '%s'", $userEmail, $password );

    //echo $sql;

    $res = mysql_query($sql);

    if( mysql_num_rows( $res ) == 0 )
    {
        //TODO:
        //redirect..

        header("Location: " . $_SERVER['HTTP_REFERER']  . "?fail=1" );

    }
    else
    {
        $row = mysql_fetch_assoc( $res );
        $_SESSION['recordId'] = $row['recordId'];
        $_SESSION['firstName'] = $row['firstName'];

        //echo "success...";
        header("Location: " . $_SERVER['HTTP_REFERER'] );

        //print_r($_SERVER);

    }

    //print($_SESSION);

}
else
{
        header("Location: " . $_SERVER['HTTP_REFERER']  . "?fail=1" );

}

HERE'S WHERE HEADER CODE (THIS IS WHERE THE FORM LIVES):

<?php

    $fail = false;
    if( $_GET['fail']  != "")
    {
        $fail = true;
    }


        if( $_SESSION['recordId'] != "" )
    {
        //get the 1st name
        $firstName = $_SESSION['firstName'];
    }

       ?>

<div id="header">
< SHOULD BE LINK "index.php"></a>

<div id="ulogin">
  <fieldset id="userlogin">
        <?php if( $firstName == ""){ ?>
        <form name="loginForm" action="dologin.php" method="post" >
    <label for="logemail">Members Login: &nbsp;Email</label> <input type="text"
         name="userEmail" id="logemail" size="15" />
        <label for="logpwd">Password</label> <input type="password" name="password"
                id="logpwd" size="15" />
                <input type="submit" name="userlogin" id="login" value="Login" />

                <?php if ($fail == true ) {?>
               <span class="error">Incorrect Login</span>
                <?php }?>

          </form>
   </fieldset>

           <?php
        }
    else{
    ?>


<div id="welcome">Welcome <?= htmlentities( $firstName ) ?> | <SHOULD BE LINK ="seemsgs.php?receiver_id="<?=  $_SESSION["recordId"]?> > See Messages</> |<SHOULD BE LINK ="member.php">Update Profile</> |  <SHOULD BE LINK ="dologout.php">Logout</a> </div><?php }?>
</div>