משתנים גלובלים בphp אוקי יש לי דף שאני מגדיר בו משתנה ואני רוצה שהמשתנה יהיה שמיש גם בדפים אחרים, האם יש דרך? והאם משתנה גלובאלי הוא לכל הטפסים או רק לכל הפונקציות. תודה מראש.
שאלה בקשר לעוגיות נכון הפרמטר של הזמן? מישהו יכול לומר לי איזה פרמטר אני צריך להכניס כדאי שהעוגייה תספיק ל30 יום? והאם יש דרך שהעוגייה תיהיה תקפה תמיד? תודה מראש..
if($_POST['username']==""){ echo" Please enter user name"; }
else if($_POST['password']=="") { echo"Please enter password"; }
else if(strlen($_POST['username'])>20) { echo"your user name is to long"; }
else if(strlen($_POST['password'])>20) { echo"your password is to long"; }
else {
if(preg_match("/'/", $_POST['username'])!=0 || preg_match("/'/", $_POST[’email'])!=0 || preg_match("/'/", $_POST['password'])!=0|| preg_match("/</", $_POST['username'])!=0|| preg_match("/</", $_POST[’email'])!=0|| preg_match("/</", $_POST['password'])!=0|| preg_match("/>/", $_POST['username'])!=0|| preg_match("/>/", $_POST[’email'])!=0|| preg_match("/>/", $_POST['password'])!=0) { echo"Your user name or your email or your password are including unallowed characters"; }
else {
$mys=mysql_connect('localhost',Bagle_2004,")or die("Couldn't Connect to the mysql erver");
mysql_select_db("Bagle_2004_uk_db ")or die("Couldn't Select DB"); $result =mysql_query("SELECT * FROM users WHERE users='".$_POST['username']."' AND password='".$_POST['password']."'", $mys);
if($row = mysql_fetch_assoc($result)) {
if($_POST['log']=="on") {
if(!$_COOKIE["cookie"]) { echo"No Cookie was found."; setcookie("cookie","I am a cookie.",time()+60*60*24); } else { echo"You have been hear"; }
}
echo "Welcome ".$_POST['username'];
}
else { echo "Wrong user name or password, try again."; }
} } ?> [/code]
גם לאחר שהעגייה נמצאת אצלי במחשב(יכול להיות שהיא לא, אולי טעיתי בsetcookie) אז נאמר שהיא לא נמצאת. מה הבעייה? תודה מראש לעוזרים!
16 תשובות
http://il.php.net/rand
תודה אחי
משתנים גלובלים בphp
אוקי יש לי דף שאני מגדיר בו משתנה ואני רוצה שהמשתנה יהיה שמיש גם בדפים אחרים, האם יש דרך?
והאם משתנה גלובאלי הוא לכל הטפסים או רק לכל הפונקציות.
תודה מראש.
תוכל לתת דוגמה כקוד?
אין בעייה
תראה אני מנסה לשים קוד אבטחה כדאי שאי אפשר יהיה לעשות לי הרשמה רובוטית
<html>
<Title>Register</Title>
<br>
<br>
<br>
<form method = post action = "register confirmation.">
User Name:<input name=username><br>
Password:<input type=password name=password><br>
Email Adress:<input name=email><br>
Confirmation Number:<br>
<?php
$rand = rand(1, 8);
$mys=mysql_connect('localhost','Diker_2004',")or die("Couldn't Connect to the mysql erver");
mysql_select_db("bDiker2004_uk_db")or die("Couldn't Select DB");
$query="SELECT * FROM rand WHERE num = $rand";
mysql_query($query,$mys);
?>
<br>
<input name=randnum>
<input type=submit value=Register>
</form>
</html>
אני רוצה לדעת את המספר שראנדומלי אבל אם אני אשלח אותו בget או בpost יהיה אפשר לזייף אותו.
אז איך אני בדיוק עושה את זה?
תודה מראש!
אני הייתי שומר אותו בסיישן.
חוץ מזה, מומלץ ליצור תמונה דינאמית עם GD לכתיבת המספר.
שאלה בקשר לעוגיות
נכון הפרמטר של הזמן?
מישהו יכול לומר לי איזה פרמטר אני צריך להכניס כדאי שהעוגייה תספיק ל30 יום?
והאם יש דרך שהעוגייה תיהיה תקפה תמיד?
תודה מראש..
תשובה
Response.Cookies("cookieName").Expires = Now()+30
Response.Cookies("cookieName").Expires = Now()+99999
השורה הראשונה תהיה תקפה ל-30 יום והשניה בעצם "לתמיד" (270+ שנים).
date("d")+31
זה יוסיף לחודש הזה עוד חודש, אם לזה אתה מיתכוון.
לעוגיה שלא נימחקת == קבע תאריך אין סופי.
קרא כאן על תאריכים:
http://www.php.net/date
נראה לי שהוא התכוון ל PHP…
מז'תומרת תאריך אין סופי?
לא שאני מבין ב php,
אבל אני מבין איזה דבר וחצי במחשבים ואפילו בתאריכים, ובחיים שלי לא שמעתי על תאריך אין סופי.
אם אתה רוצה עוגיה שלא תמחק, קבע לה expires לעוד 100 שנה. תהיה בטוח שהמשתמש שלך לא יחזיק את אותו המחשב כל כך הרבה זמן.
בכל זאות כדאי לפוקק אם אין,לא?
כן, ראיתי..
בעייה עם עוגיות
תעיפו מבט בקוד הבא:
[code]
<?php
if($_POST['username']==""){
echo" Please enter user name";
}
else if($_POST['password']=="")
{
echo"Please enter password";
}
else if(strlen($_POST['username'])>20)
{
echo"your user name is to long";
}
else if(strlen($_POST['password'])>20)
{
echo"your password is to long";
}
else
{
if(preg_match("/'/", $_POST['username'])!=0 ||
preg_match("/'/", $_POST[’email'])!=0 ||
preg_match("/'/", $_POST['password'])!=0||
preg_match("/</", $_POST['username'])!=0||
preg_match("/</", $_POST[’email'])!=0||
preg_match("/</", $_POST['password'])!=0||
preg_match("/>/", $_POST['username'])!=0||
preg_match("/>/", $_POST[’email'])!=0||
preg_match("/>/", $_POST['password'])!=0)
{
echo"Your user name or your email or your password are including unallowed characters";
}
else
{
$mys=mysql_connect('localhost',Bagle_2004,")or die("Couldn't Connect to the mysql erver");
mysql_select_db("Bagle_2004_uk_db ")or die("Couldn't Select DB");
$result =mysql_query("SELECT * FROM users WHERE users='".$_POST['username']."' AND password='".$_POST['password']."'", $mys);
if($row = mysql_fetch_assoc($result))
{
if($_POST['log']=="on")
{
if(!$_COOKIE["cookie"])
{
echo"No Cookie was found.";
setcookie("cookie","I am a cookie.",time()+60*60*24);
}
else
{
echo"You have been hear";
}
}
echo "Welcome ".$_POST['username'];
}
else
{
echo "Wrong user name or password, try again.";
}
}
}
?>
[/code]
גם לאחר שהעגייה נמצאת אצלי במחשב(יכול להיות שהיא לא, אולי טעיתי בsetcookie) אז נאמר שהיא לא נמצאת.
מה הבעייה?
תודה מראש לעוזרים!
ישר קוד לשמאל והצג קוד רלוונטי
בלבד