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

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

CBox.Co.il 23-03-09 21:56

[עזרה]לא להכנס לעמוד בלי התחברות .
 
אהלן חברה .
בניתי מערכת קטנה שמורכבת מ 3 חלקים .

החלק הראשון - הוספת תגובה
החלק השני - מחיקת תגובה
החלק השלישי - התחברות

כל העמודים עובדים לי מעולה .
אבל אני רוצה לעשות שבישביל למחוק יצטרכו לעבור דרך העמוד התחברות .
אני יישמח לעזרה תודה רבה .

אם צריך את לראות את הקובץ של ההתחברות הנה הוא .

PHP קוד:

<? require "config.php"?>
<html dir="rtl">
<head>
    <title>Pstyle- úéëðåú åòéöåá àúøéí | áðééú àúøéí | òéöåá àúøéí | äðôùåú ôìàù | àúøé ôìàù</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
    <meta http-equiv="Content-Language" content="he" />
    <link type="text/css" rel="stylesheet" href="style.css" />
</head>
<body bgcolor="#ffffff">
<form action='' method='post'>
<center>

ùí îùúîù :
<input type="text" name="aname" id="aname" style="width:200px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;



ñéñîà îùúîù :
<input type="password" name="pname" id="pname" style="width:200px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<br />

<input type="submit" name="add" id="add" style="width:100px;" />

</form>

<?php
if (isset($_POST['add']))
{
$aname htmlspecialchars(mysql_real_escape_string($_POST['aname']));
$pname htmlspecialchars(mysql_real_escape_string($_POST['pname']));
    
//checking if all fields were full
    
$error "";
    if (empty(
$aname))
    {
        
$error .= "Admin name is empty<br>";
    }
    if (empty(
$pname))
    {
        
$error .= "Admin Pass is empty<br>";
    }

    echo 
$error
    if (
$error == "")
    {
        
$query_del mysql_query("SELECT * FROM users WHERE admin_name = '".$_POST['aname']."' AND admin_pass = '".$_POST['pname']."'") or die (mysql_error());
        if (
mysql_num_rows($query_del) > 0)
        {
            echo 
"The Username and Password Match! you are logged in :)";
        echo 
"<meta http-equiv='Refresh' content='1.5; url=DeleteServer.php'>";
        }
        else
        {
            echo 
"Wrong details!";
        }
    }
}
?>

</body>
</html>


N0B0DY 23-03-09 22:00

בעמוד התחברות ברגע שמישהו מתחבר תיצור סשן או קוקיז ואז בעמוד של ההסרת תגובה תבדוק אם הסשן / קוקיז קיים ותאפשר גישה למחיקה ואם לא אז תפנה לעמוד התחברות

CBox.Co.il 23-03-09 22:10

ציטוט:

נכתב במקור על ידי N0B0DY (פרסם 704561)
בעמוד התחברות ברגע שמישהו מתחבר תיצור סשן או קוקיז ואז בעמוד של ההסרת תגובה תבדוק אם הסשן / קוקיז קיים ותאפשר גישה למחיקה ואם לא אז תפנה לעמוד התחברות

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

dor77 23-03-09 22:21

ציטוט:

נכתב במקור על ידי Pstyle (פרסם 704565)
תראה אחי אני מתחיל ב PHP כפי שאתה רואה .
יש לך מושג איפה יש את הקוד של הסיישן, ובמידה וכן איפה אני אמור להכניס אותו .
תודה רבה על העזרה .

מה שN0B0DY אמר נכון לגמרי.
מהתגובה שלך אני מבין שאתה לא יודע קוקיז.
הנה מדריך קטן:
http://php.eitan.ac.il/main.php?id=00153

ברגע שהמשתמש מתחבר, תיצור קוקיז (setcookie) עם פרטים כלשהם.
בעמוד המחיקה תעשה תנאי:

PHP קוד:


if(isset($_COOKIE["cookiename"]))
{
תציג עמוד התחברות
}
else
{
echo 
"אתה לא מחובר, אתה מועבר לעמוד ההתחברות";


בבידקה, אל תבדוק רק אם יש קוקי אחד, תעשה כמה, ושיהיו תואמים למידע מהמסד או משהו כזה, תאבטח אותה איך שבא לך.

מקווה שעזרתי.

CBox.Co.il 23-03-09 22:33

תודה רבה על עזרתכם הגדולה אבל אני לא מבין, תודה בכל מקרה .

0xfo7d 23-03-09 22:33

אם אתה מתחיל ולא יצא לעבוד עם סשיין או קוקיז אני ממליץ לך להתחיל עם סשיין....=]

N0B0DY 23-03-09 22:34

מה לא הבנת?
אם אתה צריך מדריכים לסשנים / קוקיז או אפילו קוד לדוגמא רק תגיד :)

CBox.Co.il 23-03-09 22:40

אם אפשר קוד דוגמא אני כמעט בטוח יבין, הבנתי שאני אמור לרשום בתחיל הטופס של התחברות
session_start();
אבל לפי מה שאני חושב צריך להכניס את זה גם לשמות .
תודה רבה על העזרה .

N0B0DY 23-03-09 23:20

PHP קוד:

<? require "config.php"?>
<html dir="rtl">
<head>
    <title>Pstyle- úéëðåú åòéöåá àúøéí | áðééú àúøéí | òéöåá àúøéí | äðôùåú ôìàù | àúøé ôìàù</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
    <meta http-equiv="Content-Language" content="he" />
    <link type="text/css" rel="stylesheet" href="style.css" />
</head>
<body bgcolor="#ffffff">
<form action='' method='post'>
<center>

ùí îùúîù :
<input type="text" name="aname" id="aname" style="width:200px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;



ñéñîà îùúîù :
<input type="password" name="pname" id="pname" style="width:200px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<br />

<input type="submit" name="add" id="add" style="width:100px;" />

</form>

<?php
if (isset($_POST['add']))
{
$aname htmlspecialchars(mysql_real_escape_string($_POST['aname']));
$pname htmlspecialchars(mysql_real_escape_string($_POST['pname']));
    
//checking if all fields were full
    
$error "";
    if (empty(
$aname))
    {
        
$error .= "Admin name is empty<br>";
    }
    if (empty(
$pname))
    {
        
$error .= "Admin Pass is empty<br>";
    }

    echo 
$error
    if (
$error == "")
    {
        
$query_del mysql_query("SELECT * FROM users WHERE admin_name = '".$_POST['aname']."' AND admin_pass = '".$_POST['pname']."'") or die (mysql_error());
        if (
mysql_num_rows($query_del) > 0)
        {
            echo 
"The Username and Password Match! you are logged in :)";
            
$_SESSION['username'] = "$_POST['aname']";
            
$_SESSION['password'] = "$_POST['pname']";
        echo 
"<meta http-equiv='Refresh' content='1.5; url=DeleteServer.php'>";
        }
        else
        {
            echo 
"Wrong details!";
        }
    }
}
?>

</body>
</html>

כמו שאתה רואה הוספתי את זה:
PHP קוד:

            $_SESSION['username'] = "$_POST['aname']";
            
$_SESSION['password'] = "$_POST['pname']"

זה יוצר סשן בשם username שמכיל את שם המשתמש שהוא מילא בטופס וסשן בשם password שמכיל את הסיסמא שהוא מילא בטופס.

אחר כך, בעמוד שאתה רוצה לבדוק אם הוא מחובר אתה בודק אם השם משתמש והסיסמא שבסשן הם השם משתמש והסיסמא במסד
משהו כזה:
PHP קוד:

session_start();
ob_start();
$query "SELECT username,password FROM `users`";
$result=mysql_query($query $link);
while (
$data mysql_fetch_array($result))
{
if(
$_SESSION['username'] == $data['username'] && $_SESSION['password'] == $data['password'])
    {
    
הפרטים זהיםניתן להמשיך
    
}
ob_end_clean();


מקווה שהבנת

CBox.Co.il 24-03-09 00:29

אני ניסיתי את זה אחי וזה לא עובד אני מקבל את השגיאה הזאת .
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/pstyle/domains/pstyle.co.il/public_html/Guids/connect.php on line 50

תודה רבה על כל העזרה שלך .


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

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