ABA


"php ''isset'' איך זה עובד?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #22023 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 22023
זקי חלטורה
חבר מתאריך 9.4.15
163 הודעות, דרג אמינות חבר זה
   10:41   19.07.17   
אל הפורום  
  php ''isset'' איך זה עובד?  
 
   עבר עריכה לאחרונה בתאריך 20.07.17 בשעה 12:55 על-ידי Ice Cold (מנהל הפורום)
 
שלום
בקוד הרצ"ב קימים 2 שדות קלט בטופס: a ו b.
ברצוני שאם יוקלד ערך כלשהו ל a הקוד יציג 'a' במסך ואם יוקלד 'b' על המסך יופיע 'b'.
בפועל, בהפעלת הקוד דלהלן, מופיעים תמיד על המסך a ו b בין אם הוקלדו או לא.
מישהו יכול לעזור לי עם isset?
תודה

<?php //myIsset.php
$a = '';
$b = '';
if (isset($_GET['a'])) echo 'a<br>';
if (isset($_GET['b'])) echo 'b';

echo '
<!DOCTYPE html>
<html lang = "en">
<head>
<title>myIntval.php</title>
<meta charset="utf-8" />
</head>

<body>
<form action = "myIsset.php" method = "GET">
A <input type ="text" name = "a">
B <input type ="text" name = "b">
<input type = "submit" value = "convert">
</form>
</body>
</html>';
?>


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא ציינת את השם של הinput b0rg  19.07.17 10:59 1
     אני מבולבל לחלוטין זקי חלטורה 19.07.17 21:05 2
         עכשיו קלטתי שזה באמת מוחק מהקוד שלך את החלק שחשבתי שחסר לך b0rg  19.07.17 23:58 3
         isset מחזירה true על כל משתנה שהוכרז, גם אם ריק חוצה גם באדום 20.07.17 00:06 4
             תודה, טוב לדעת זקי חלטורה 22.07.17 12:12 7
  מכתב the_dude  20.07.17 01:37 5
     ללא ספק הדרך הטובה ביותר זקי חלטורה 22.07.17 12:16 9
  מצב ימין לשדה, יש לינק ''המר סוגריים מרובעים'' בדיוק למטרה הזו. כרגע ערכתי לך. Ice Cold  20.07.17 12:56 6
     תודה זקי חלטורה 22.07.17 12:14 8

       
b0rg 
חבר מתאריך 9.2.10
6097 הודעות
   10:59   19.07.17   
אל הפורום  
  1. לא ציינת את השם של הinput  
בתגובה להודעה מספר 0
 
  

if (isset($_GET)) echo 'a';
if (isset($_GET)) echo 'b';


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
זקי חלטורה
חבר מתאריך 9.4.15
163 הודעות, דרג אמינות חבר זה
   21:05   19.07.17   
אל הפורום  
  2. אני מבולבל לחלוטין  
בתגובה להודעה מספר 1
 
   אך בידי התשובה לשאלה ששאלתי.
הפונקציה isset מחזיר תמיד true ולכן תמיד יוצגו a ו b בקוד השגוי שהעליתי.
כדי שהקוד יציג רק את ההמשתנה שקיבל ערך יש לשאול:

if(!empty($_get))

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
b0rg 
חבר מתאריך 9.2.10
6097 הודעות
   23:58   19.07.17   
אל הפורום  
  3. עכשיו קלטתי שזה באמת מוחק מהקוד שלך את החלק שחשבתי שחסר לך  
בתגובה להודעה מספר 2
 
   רק אחרי שראיתי שגם בהודעה שלי זה נמחק... מוזר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
חוצה גם באדום לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 4.7.15
2002 הודעות, 12 פידבק, 10 נקודות
   00:06   20.07.17   
אל הפורום  
  4. isset מחזירה true על כל משתנה שהוכרז, גם אם ריק  
בתגובה להודעה מספר 2
 
   כדי שתחזיר false צריך לבטל לגמרי המשתנה עם פונקציית unset (זו אחת האפשרויות כמובן)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
זקי חלטורה
חבר מתאריך 9.4.15
163 הודעות, דרג אמינות חבר זה
   12:12   22.07.17   
אל הפורום  
  7. תודה, טוב לדעת  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
the_dude 
חבר מתאריך 30.4.14
148 הודעות, דרג אמינות חבר זה
   01:37   20.07.17   
אל הפורום  
  5. מכתב  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 20.07.17 בשעה 01:41 בברכה, the_dude
 
זה הקוד שאתה צריך:


הטעות שבדקת רק אם $_get קיים, ולא אם השדה בתוך הטופס בעצם עם תוכן.
מקווה שהקוד מובן, אם לא, ארחיב על ההסבר.


עריכה:
קיימת בעיה ב code פה שהוא מוחק את החלק החשוב: תתעלם מהתוצאה, אין אפשרות לשים שם קוד PHP, אך זה הקוד שאתה צריך.
https://codepen.io/anon/pen/XgLQdX


אחסון אתרים ושרתים וירטואלים.
https://lowchost.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
זקי חלטורה
חבר מתאריך 9.4.15
163 הודעות, דרג אמינות חבר זה
   12:16   22.07.17   
אל הפורום  
  9. ללא ספק הדרך הטובה ביותר  
בתגובה להודעה מספר 5
 
   להעלות קוד.
מובן לחלוטין, תודה.
אני מקווה לזכור להשתמש בקישור לצורך העלאת קוד בעתיד. הכי נקי, הכי יעיל והכי ברור.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   12:56   20.07.17   
אל הפורום  
  6. מצב ימין לשדה, יש לינק ''המר סוגריים מרובעים'' בדיוק למטרה הזו. כרגע ערכתי לך.  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
זקי חלטורה
חבר מתאריך 9.4.15
163 הודעות, דרג אמינות חבר זה
   12:14   22.07.17   
אל הפורום  
  8. תודה  
בתגובה להודעה מספר 6
 
   אני מקווה שהקוד הבא שאעלה לא יהיה בעייתי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net