כיצד לשלוח משתנה לדף אחר?

פיטפט

New member
כיצד לשלוח משתנה לדף אחר?

סליחה אם זו שאלה בסיסית, פשוט אני ממש מתחיל... יש לי דף שבתוכו יש טופס. בדף הזה יש גם כל מיני משתנים. אי רוצה שכשהמשתמש לוחץ על submit, יישלח לדף המבוקש גם משתנה מהדף הנוכחי(ללא קשר לטופס). איך אפשר לעשות זאת? (העדפה ל-POST). תודה מראש...
 

פיטפט

New member
אוקיי, את הבעיה הזאת פתרתי אבל...

יש לי בעיה אחרת...
יש לי מספר מחרוזות שבאחת מהן האות האחרונה היא R. מספר התווים במחרוזת לא קבוע. אני רוצה לבדוק אם האות האחרונה במחרוזת היא R . אם מספר התווים במחרוזת היה ידוע זה היה עוזר לי, כי פשוט הייתי אומר לו לבדוק אם החמישי(לדוגמא) הוא R.
if ($something[5] == R0 { }​
השאלה שלי היא האם אפשר לבדוק את התווים במחרוזת גם מהסוף להתחלה?
 

barakbl

New member
דרך מכוערת,

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

פיטפט

New member
אוקי, זה עבד...

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

אסור לשכוח שב-PHP יש פונקציות מובנות, וחלק גדול מהן הן פונקציות זהות לאלה של הספריות של שפת C. יש מספיק פונקציות כדי לבדוק כמה תווים יש במחרוזת - הכי פשוטה היא כמובן strlen. האיבר האחרון במחרוזת יהיה במקום strlen פחות אחת (משום שמחרוזת היא מערך של תווים, ומערך ב-PHP כמו בשפת C מתחיל מאיבר במקום 0). לכן כדי לבדוק את האיבר האחרון:
if( $str[ strlen($str) - 1] == 'R') { .. }​
זה הכל, נורא פשוט... עוד פונקציות כדי לבדוק כמה כמה איברים יש במערך: count sizeof
 

barakbl

New member
../images/Emo45.gif רעיון טוב,

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