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

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

dabi 02-10-12 21:03

בחירת אילו משתנים ישלחו ב GET
 
אהלן
אני רוצה לשלוח ב GET טופס
הבעיה היא שהוא שולח אוטומטי את כל המשתנים שהוזכרו בטופס
כולל משתני JS שנועדו לבדוק קלט וכו'
אני רוצה להחליט אילו משתנים ישלחו ב GET ,איך עושים זאת?
לדוגמא הטופס מכיל את השדות
שם
כתובת
אימייל
ערץ
עיר

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


שאלה נוספת פחות חשובה,האם סישן זה דבר מאובטח? שלא ניתן לזייף אותו?
אם אני שם סישן שמכיל את ה ID של הלקוח ולפי זה אני שולף נתונים, אז
1)האם הוא יכול לראות מה הסישן הזה מכיל?
2)האם הוא יכול לזייף אותו? וככה להיות עם סישן של מישהו אחר?

Kernel 02-10-12 21:05

איזה טופס?
מה הקוד?

הדפדפן ישלח מה שתגדיר לו לשלוח.

Tomer 02-10-12 21:07

אל תגדיר name ל input ותפנה אליו דרך ה- id (עם JavaScript)

dabi 02-10-12 22:15

ציטוט:

נכתב במקור על ידי Kernel (פרסם 858779)
איזה טופס?
מה הקוד?

הדפדפן ישלח מה שתגדיר לו לשלוח.

טופס HTML פשוט מאוד
נגיד שיש בו 5 תיבות INPUT כולל תיבה 1 שיש בה בדיקת קלט של האימייל אז יש שם 2 משתנים של JS
כרגע זה שולח את כל 7 המשתנים דרך GET , אני רוצה להגדיר מה אני רוצה שישלח
איך עושים את זה?

ציטוט:

נכתב במקור על ידי Tomer (פרסם 858780)
אל תגדיר name ל input ותפנה אליו דרך ה- id (עם JavaScript)

אפשר יותר פירוט?? בבקשה ?
הבעיה שגם משתנים של JS שנועדו לבדיקת קלט אין להם NAME והם גם נישלחים

Tomer 02-10-12 22:27

לא בדקתי את העניין של הורדת ה- name, יכול להיות שזה לא עובד.

תנסה לקבוע ל input את המאפיין disabled:

קוד:

<input .... disabled="disabled">

dabi 02-10-12 22:35

ציטוט:

נכתב במקור על ידי Tomer (פרסם 858804)
לא בדקתי את העניין של הורדת ה- name, יכול להיות שזה לא עובד.

תנסה לקבוע ל input את המאפיין disabled:

קוד:

<input .... disabled="disabled">

זה לא יעזור למשתנים של ה JS שבודקים תיבת INPUT וגם הם נישלחים
בנוסף....
אם אני שולח מעמוד 1 לעמוד 2
אז הרי אני מקבל ככה
2.php?id=2&&name=yosi&&email=eee
ואז כשאני רוצה לשלוח מעמוד 2.PHP לעמוד 3.PHP גם ב GET
אז בנוסף לנתונים של הטופס עכשיו ישלחו כל מה שב GET עכשיו...
כל הנתונים שנשלחו מעמוד 1 ל 2 ישלחו גם מ 2 ל 3 כי ה GET ישלח גם אותם

אז המטרה שלי היא לבחור מה לשלוח איכשהו

Tomer 02-10-12 23:06

אני חושב שכדאי שתציג את קוד המקור של העמוד ומה בדיוק אתה מנסה לעשות. איבדתי אותך.

dabi 02-10-12 23:46

ציטוט:

נכתב במקור על ידי Tomer (פרסם 858809)
אני חושב שכדאי שתציג את קוד המקור של העמוד ומה בדיוק אתה מנסה לעשות. איבדתי אותך.

הכי פשוט

PHP קוד:

<script>
function 
validateForm()
{
var 
x=document.forms["TheForm"]["email"].value;
var 
atpos=x.indexOf("@");
var 
dotpos=x.lastIndexOf(".");
if (
atpos<|| dotpos<atpos+|| dotpos+2>=x.length)
  {
  
alert("Not a valid e-mail address");
  return 
false;
  }
var 
x=document.forms["TheForm"]["fname"].value;
if (
x==null || x=="")
  {
  
alert("Full name must be filled out");
  return 
false;
  }
}
</script>
<form name="TheForm" onsubmit="return validateForm();" action="1.php" method="get">
<h2>name: <input name="fname" type="text" value="Your name" onblur="if(this.value == '') {this.value='Your name'}" onfocus="if (this.value == 'Your name') {this.value=''}"></h2>
<h2>email: <input name="email" type="text" value="Your email" onblur="if(this.value == '') {this.value='Your email'}" onfocus="if (this.value == 'Your email') {this.value=''}"></h2>
<div style="text-align: center; padding: 14px;">


<input type="image"  src="images/doit.png" width="254px" height="94px"> 
<br />

</div>
</form> 

אם אני רושם בשדה הראשון
MYNAME
ובשדה השני
dabi@gmail.com
אני יקבל
PHP קוד:

1.php?fname=MYNAME&email=dabi%40gmail.com&x=79&y=45 

&x=79&y=45
זה משתנים שאומרים איפה לחצתי בתמונה של ב SUBMIT לא רוצה שהם ישלחו ב GET
איך עושים את זה?

BuildDream 03-10-12 00:20

X ו-Y הם לא משתנים לבדיקת קלט, בגלל שהשתמשת בתג input עם type של image - הוא שולח את הX וה-Y שבהן לחצת על התמונה (כדי שתוכל לזהות איפה בוצעה הלחיצה, לדוגמא אם תלחץ בדיוק בפינה השמאלית העליונה של הכפתור ה-X וה-Y יהיו שווים 0)

לדעתי זה מטומטם שהדפדפנים שולחים את זה בתור ברירת מחדל, אבל ככה זה עובד :)

dabi 03-10-12 00:36

ציטוט:

נכתב במקור על ידי BuildDream (פרסם 858819)
X ו-Y הם לא משתנים לבדיקת קלט, בגלל שהשתמשת בתג input עם type של image - הוא שולח את הX וה-Y שבהן לחצת על התמונה (כדי שתוכל לזהות איפה בוצעה הלחיצה, לדוגמא אם תלחץ בדיוק בפינה השמאלית העליונה של הכפתור ה-X וה-Y יהיו שווים 0)

לדעתי זה מטומטם שהדפדפנים שולחים את זה בתור ברירת מחדל, אבל ככה זה עובד :)

אני לא רוצה שישלח את X ו Y מה לעשות?


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

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