הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה ב session (https://hosts.co.il/forums/showthread.php?t=89522)

NoBoDy 13-05-11 08:11

בעיה ב session
 
שלום,
בניתי מערכת משתמשים קטנה, והיא עובדת במחשב כמו שצריך,
כשאני מעלה לאחסון, המערכת עובדת, רק שה session לא עובדת,
ז"א שאני מתחבר הוא כותב שהוא מתחבר והכל טוב ויפה, אבל אחרי שאני נכנס שוב לדף, הוא שוב מראה לי התחברות במקום להראות לי שאני מחובר.
אבל במחשב זה עובד..

זה הקוד:
PHP קוד:

<?php
    session_start
();


    
mysql_connect("localhost","berkonir_user","fiLm3qBg") or die("אין אפשרות להתחבר למסד");
    
mysql_select_db("berkonir_mem") or die("אין אפשרות להתחבר לDB");
    
    
    
$username $_SESSION["username"];
    
$username $_SESSION["password"];
    
$q mysql_query("SELECT * FROM users WHERE username = '".$_SESSION["username"]."' AND password = '".$_SESSION["password"]."'");
    
    if (
mysql_num_rows($q) == 0){
    
    if (isset(
$_POST["send"])){
        if (!empty(
$_POST["username"]) && !empty($_POST["password"])){
            
$username $_POST["username"];
            
$password $_POST["password"];
            
$q mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
                if (
mysql_num_rows($q) > 0){
                echo 
"יש את השם";
                
$_SESSION["username"] = $username;
                
$_SESSION["password"] = $password;
                }else{
                    echo 
"שם משתמש או סיסמה אינם נכונים";
                }
            }else{
                echo 
"יש למלות את כל השדות";
            }
        }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="he" lang="he" dir="rtl">
    <head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf=8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <form action="" method="post">
        שם משתמש: <input type="text" name="username" />
        סיסמה: <input type="text" name="password" />
        <input type="submit" name="send" value="התחבר" />
        </form>
    <?php
        
}else{
        
?>
            <div align="right" dir="rtl">
                שלום
            </div>
        <?php
        
}
        
?>
    </body>
</html>

זה האתר:
http://berkonir.info/projects/2/

תודה!

orelcn 13-05-11 08:34

שיפצתי לך את הקוד היו בו מלא טעויות תנסה תגיד לי אם עובד לך

PHP קוד:

<?php

session_start
();

    
mysql_connect("localhost","berkonir_user","fiLm3qBg") or die("אין אפשרות להתחבר למסד");
    
mysql_select_db("berkonir_mem") or die("אין אפשרות להתחבר לDB");
    
    if (isset(
$_POST["send"])) {
        
        if (!empty(
$_POST["username"]) && !empty($_POST["password"])) {
            
            
$username $_POST["username"];
            
$password $_POST["password"];
    
            
$q mysql_query("SELECT * FROM users WHERE username = '$username' AND password = '$password' ");
            
            if (
mysql_num_rows($q) != 0) {
                
                
$_SESSION["username"] = $username;
                echo 
"ההתחברות הושלמה";

            } else {
            
                echo 
"שם משתמש או סיסמה שגויים!";

            }

        } else {
    
            echo 
"יש למלות את כל השדות";

        }
    
    }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="he" lang="he" dir="rtl">
<head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf=8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?
    
if ($_SESSION['username'] == "") {
?>
    <form action="" method="post">
        שם משתמש: <input type="text" name="username" />
        סיסמה: <input type="text" name="password" />
        <input type="submit" name="send" value="התחבר" />
    </form>
<?
    
} else {
?>
            <div align="right" dir="rtl">
                שלום <? echo $_SESSION['username']; ?>
            </div>
<?
    
}
?>
</body>
</html>


NoBoDy 13-05-11 08:52

זה עדיין לא עובד,
ואני לא רוצה שתשפצו לי את הקוד, אני רוצה ללמוד PHP ולא לקחת קוד וזהו...

orelcn 13-05-11 09:29

אוקיי... אז אני רק יכול לישלוח לך את הלינק שממנו אני למדתי להשתמש בSESSION
http://php.eitan.ac.il/main.php?id=00169


ולגבי הקוד אם בא לך לנסות שוב עשיתי עוד כמה שינויים אם תיקרא את הקוד תוכל להבין אותו בקלות הוא לא מסובך

PHP קוד:

<?php

session_start
();

    
mysql_connect("localhost","berkonir_user","fiLm3qBg") or die("אין אפשרות להתחבר למסד"); 
    
mysql_select_db("berkonir_mem") or die("אין אפשרות להתחבר לDB"); 


    if (
$_GET['do'] == "login") {
    
            if (!empty(
$_POST['username']) && !empty($_POST['password'])) { 
        
            
$str_username $_POST['username'];
            
$str_password $_POST['username'];
            
            
$q mysql_query("SELECT * FROM users WHERE username='$str_username' AND password='$str_password' "); 
            
                if (
mysql_num_rows($q) == 0) {
                    
                    
$_SESSION['username'] = "";
                    echo 
"שם משתמש או סיסמה שגויים";
                    
                } else {
                
                    
$_SESSION['username'] = $str_username;
                    echo 
"ההתחברות בוצעה בהצלחה";
                
                }
                
            } else {
            
                echo 
"חובה למלא שם משתמש וסיסמה!";
            
            }
        
    }


?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html dir="rtl">

<head>
    <meta content="text/html; charset=windows-1255" http-equiv="Content-Type">
    <title>כניסה למערכת</title>
    <link rel="stylesheet" type="text/css" href="style.css"> 
</head>
<body>
<?

    
if ($_SESSION['username'] == "") {

?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?do=login" name="formLogin">
    שם משתמש: <input type="text" name="username">
    סיסמה: <input type="password" name="password">
    <input type="submit" name="send" value="התחבר">
</form>

<?

    
} else {

?>

    <div dir="rtl">
        שלום <? echo $_SESSION['username']; ?>
    </div>

<?

    
}

?>
</body>
</html>


NoBoDy 13-05-11 10:42

ציטוט:

נכתב במקור על ידי orelcn (פרסם 804160)
אוקיי... אז אני רק יכול לישלוח לך את הלינק שממנו אני למדתי להשתמש בSESSION
http://php.eitan.ac.il/main.php?id=00169


ולגבי הקוד אם בא לך לנסות שוב עשיתי עוד כמה שינויים אם תיקרא את הקוד תוכל להבין אותו בקלות הוא לא מסובך

PHP קוד:

<?php

session_start
();

    
mysql_connect("localhost","berkonir_user","fiLm3qBg") or die("אין אפשרות להתחבר למסד"); 
    
mysql_select_db("berkonir_mem") or die("אין אפשרות להתחבר לDB"); 


    if (
$_GET['do'] == "login") {
    
            if (!empty(
$_POST['username']) && !empty($_POST['password'])) { 
        
            
$str_username $_POST['username'];
            
$str_password $_POST['username'];
            
            
$q mysql_query("SELECT * FROM users WHERE username='$str_username' AND password='$str_password' "); 
            
                if (
mysql_num_rows($q) == 0) {
                    
                    
$_SESSION['username'] = "";
                    echo 
"שם משתמש או סיסמה שגויים";
                    
                } else {
                
                    
$_SESSION['username'] = $str_username;
                    echo 
"ההתחברות בוצעה בהצלחה";
                
                }
                
            } else {
            
                echo 
"חובה למלא שם משתמש וסיסמה!";
            
            }
        
    }


?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html dir="rtl">

<head>
    <meta content="text/html; charset=windows-1255" http-equiv="Content-Type">
    <title>כניסה למערכת</title>
    <link rel="stylesheet" type="text/css" href="style.css"> 
</head>
<body>
<?

    
if ($_SESSION['username'] == "") {

?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?do=login" name="formLogin">
    שם משתמש: <input type="text" name="username">
    סיסמה: <input type="password" name="password">
    <input type="submit" name="send" value="התחבר">
</form>

<?

    
} else {

?>

    <div dir="rtl">
        שלום <? echo $_SESSION['username']; ?>
    </div>

<?

    
}

?>
</body>
</html>


מה שכתוב שמה אני יודע, אבל אני לא מבין למה רק באחסון ה session לא נשמר, כי הקוד שכתבתי עובד מצויין במחשב

orelcn 13-05-11 10:45

על איזה שרת אתה מאחסן?

NoBoDy 13-05-11 10:49

ניסיתי על 2 שרתים,
אחד מהם זה freehost.co.il
והשני:
gfahost.com

orelcn 13-05-11 11:01

טוב ניסיתי להריץ את זה על השרת WINDOWS שלי והכל עובד חלק
וגם בחשבון שלי בfreehost זה גם פועל...

NoBoDy 13-05-11 11:02

אז מה הבעיה אצלי?... הרצתי את זה גם במחשב הנייד שלי וזה עדיין לא עובד לי.
ניסיתי באחסונים זה לא עובד, באחסון על המחשב זה עובד.
איזה באסה שזה בעיה אצלי כניראה בדפדפן, אני אנסה כמה דפדפנים, ב IE ובפיירפוקס לא עובד לי.
וגם בכרום לא עובד לי.
באיזה קוד השתמשת שעובד לך?

orelcn 13-05-11 11:06

בקוד האחרון שכתבתי לך


כל הזמנים הם GMT +2. הזמן כעת הוא 02:11.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ