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

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

Jonathan Zeierman 04-12-07 05:27

[בעיה] עם setcookie
 
שלום לכולם..
תוכלו לראות שבדף הזה יש לכם התחברות:http://www.empty.whitescreen.co.il/log/login.php
עכשיו כשאתם מקישים שם משתמש וסיסמא:
root אותו דבר גם סיסמא.
זה צריך להעביר אותכם לדף שאומר "התחברת בהצלחה".
אבל עשיתי בכדי שאי אפשר להכנס לדף ללא התחברות ע"י הוספת הקוד:
בתוך ה: index.php
PHP קוד:

<?php
  
if ($_COOKIE["a"]==""){
?>

ואחרי זה עשיתי:
PHP קוד:

HTML;
}

else{
echo<<<HTML
<center>
<td><font color="white" size="3">אתה צריך להתחבר</font></td>
<br>
<td><font color="white" size="3">.הנך מועבר לדף ההתחברות</font></td>
<meta http-equiv="Refresh" content="5; URL=login.php">
HTML; 

עכשיו סיימתי עם הדף index.php ועברתי לדף ההתחברות login.php:
והכנסתי שם:
PHP קוד:

<?php 
setcookie
("a","123123",time()+600000000);
?>

אני מנסה להתחבר וזה לא מזהה אותי.
מישהו יכול בבקשה לעזור לי?

Derey22 04-12-07 07:03

אני מניח ששלחת header לפני.

Jonathan Zeierman 04-12-07 07:35

נכון...

Elad-A 04-12-07 09:27

אם יש לך טקסט בדף לפני הפונקציה תצטרך לשים ob_start() בתחילת הדף..

PHP קוד:

<?php
ob_start
();

.... 
?>


e.N.m 04-12-07 10:05

ולסגור עם:
PHP קוד:

ob_end_flush();
?> 


בהצלחה :)

Jonathan Zeierman 04-12-07 17:08

לא הבנתי כל כך איפה למקם את מה שכתבתם לי...
יש לי 3 דפים,שאלו:
index.php
login.php
getlogin.php
תסבירו את עצמכם בבקשה..

Meir 04-12-07 17:39

בקובץ login.php אמור להיות משהו כזה:

HTML קוד:

<form action="getlogin.php" method="post">
        שם משתמש:
        <br />
        <input type="text" name="username" value="" />
        סיסמא:
        <br />
        <input type="password" name="password" value="" />
        <br />
        <input type="submit" name="submit" value="התחבר" />
</form>

בקובץ getlogin.php משהו כזה:

PHP קוד:

<?php

if (isset($_POST['submit'])) {
    if (
$_POST['username'] == 'root' && $_POST['password'] == 'root') {
        
setcookie('user'$_POST['username'], time()+360);
        
setcookie('pass'$_POST['password'], time()+360);
    }
}

?>

ובindex.php משהו כזה:

PHP קוד:

<?php

if (isset($_COOKIE['user']) && isset($_COOKIE['pass'])) {
    echo 
'אתה מחובר';
} else {
    echo 
'אנא התחבר לאתר';
}

?>

עכשיו אם אתה רוצה להוסיף תוכן בקובץ getlogin.php מעל לקוד שהבאתי תצטרך להוסיף את הפונקציה ob_start מעל לכל התוכן:

PHP קוד:

<?php ob_start(); ?>


e.N.m 04-12-07 19:27

בקובץ עם פונקצית header.

Jonathan Zeierman 04-12-07 20:25

ציטוט:

נכתב במקור על ידי Meir (פרסם 586906)
בקובץ login.php אמור להיות משהו כזה:

HTML קוד:

<form action="getlogin.php" method="post">
        שם משתמש:
        <br />
        <input type="text" name="username" value="" />
        סיסמא:
        <br />
        <input type="password" name="password" value="" />
        <br />
        <input type="submit" name="submit" value="התחבר" />
</form>

בקובץ getlogin.php משהו כזה:

PHP קוד:

<?php

if (isset($_POST['submit'])) {
    if (
$_POST['username'] == 'root' && $_POST['password'] == 'root') {
        
setcookie('user'$_POST['username'], time()+360);
        
setcookie('pass'$_POST['password'], time()+360);
    }
}

?>

ובindex.php משהו כזה:

PHP קוד:

<?php

if (isset($_COOKIE['user']) && isset($_COOKIE['pass'])) {
    echo 
'אתה מחובר';
} else {
    echo 
'אנא התחבר לאתר';
}

?>

עכשיו אם אתה רוצה להוסיף תוכן בקובץ getlogin.php מעל לקוד שהבאתי תצטרך להוסיף את הפונקציה ob_start מעל לכל התוכן:

PHP קוד:

<?php ob_start(); ?>


קודם כל תודה לך על העזרה.
עכשיו נתקלתי בבעיה....
עשיתי מה שאמרת בקובץ getlogin.php:
PHP קוד:

<?php
if (isset($_POST['submit'])) {
    if (
$_POST['username'] == 'root' && $_POST['password'] == 'root') {
        
setcookie('user'$_POST['username'], time()+360);
        
setcookie('pass'$_POST['password'], time()+360);
    }
}

?>

<meta http-equiv="Refresh" content="0; URL=index.php">

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

<meta http-equiv="Refresh" content="0; URL=index.php"

כדי שמתי שהוא יתחבר שיעביר אותו לעמוד הראשי ומשום מה לא מצליח לי הוא עושה לי EROR.

e.N.m 04-12-07 20:45

איזה Erorr ? :-/


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

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