דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הוספת עוד חלק קוד html ו PHP דינמי.

הוספת עוד חלק קוד html ו PHP דינמי.

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 3 כותבים 610 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לGOOGL ב נערך לאחרונה על ידי
    #5

    @GOOG תציג פה קובץ PHP מינמלי שכתבת שיודע לשלוף למשתמש את העדפותיו,
    ואענה לך בתשובה איך לעשות "אינטראקציה ראשונית שונה" על פי המידע של המשתמש.

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    G תגובה 1 תגובה אחרונה
    1
    • G מנותק
      G מנותק
      GOOGL
      השיב לdovid ב נערך לאחרונה על ידי
      #6

      @dovid
      לדוגמא כשלוחצים על ה button נפתח ה form:

      <?php
      $fname = $lname = "";
      if (empty($_POST["fname"])) { 
      } else {
          $fname = $_POST["fname"];
      }
      if (empty($_POST["lname"])) {
      } else {
          $lname = $_POST["lname"];
      }
      ?>
      
      <html>
          <body>
              <button type="button">Click</button>
              <form action="">
                  <label for="fname">First name:</label><br>
                  <input type="text" id="fname" name="fname" value="<?php echo $fname;?>"><br>
                  <label for="lname">Last name:</label><br>
                  <input type="text" id="lname" name="lname" value="<?php echo $lname;?>"><br><br>
                  <input type="submit" value="Submit">
              </form> 
          </body>
      </html>
      
      dovidD תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לGOOGL ב נערך לאחרונה על ידי
        #7

        @GOOGL בדוגמה שלך אין טעינה של שום מידע משום קובץ INI.
        אתה שואל גם את זה איך לעשות או שזה אתה יודע?

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        G תגובה 1 תגובה אחרונה
        1
        • G מנותק
          G מנותק
          GOOGL
          השיב לdovid ב נערך לאחרונה על ידי GOOGL
          #8

          @dovid
          לטעון מידע מ INI אני יודע.
          אני רוצה שהטופס יפתח בלחיצה על הכפתור בלי קשר למידע מקובץ INI.
          את השאלה של איך להציג מידע לפי INI אני שואל בנוסף.

          G dovidD 2 תגובות תגובה אחרונה
          0
          • G מנותק
            G מנותק
            GOOGL
            השיב לGOOGL ב נערך לאחרונה על ידי GOOGL
            #9

            @GOOGL
            אני יסביר את עצמי...
            יש לי 2 שאלות:

            1. לפתוח חלק שלם בקוד HTML אני חושב שאפשר כמו אקורדיון, כלומר שהוא מוסתר ויכול להיות מוצג בעזרת לחיצה על הכפתור.אבל אני מעדיף להשתמש בזה בתור מוצא אחרון.

            2. אם מישהו לחץ על הכפתור ומילא טופס ושלח, איך אני יציג לו את הטופס בפעם הבאה בתוספת אפשרות למלאות שוב טופס חדש.

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לGOOGL ב נערך לאחרונה על ידי
              #10

              @GOOGL אמר בהוספת עוד חלק קוד html ו PHP דינמי.:

              @dovid
              אני רוצה שהטופס יפתח בלחיצה על הכפתור בלי קשר למידע מקובץ INI.

              יש שתי גישות, גישה אחת זה לעשות את זה בצד שרת בPHP. אתה צריך לעטוף את הbutton בform קטן, ובעת לחיצה הדף יהיה שונה:

              <body>
              
                  <?php if ($_POST["show_form"]) : ?>
                      <form action="">
                          <label for="fname">First name:</label><br>
                          <input type="text" id="fname" name="fname" value="<?php echo $fname; ?>"><br>
                          <label for="lname">Last name:</label><br>
                          <input type="text" id="lname" name="lname" value="<?php echo $lname; ?>"><br><br>
                          <input type="submit" value="Submit">
                      </form>
                  <?php else : ?>
                      <form method="POST">
                          <input type="hidden" value="show_form" />
                          <button type="submit">הצג טופס</button>
                      </from>
                  <?php endif; ?>
              
              </body>
              
              

              בגישה זו, בעת הלחיצה כל העמוד עובר ריענון ואז מגיע עמוד עם השינוי.
              הגישה השניה והמומלצת כיום היא דינמיקה בצד לקוח, שזה מושג אך ורק ע"י שפת JS, הנה דוגמה:

              <body>
              
                  <button type="button" onclick="visForm()">הצג טופס</button>
              
                  <form action="" style="display: none;" id="form">
                      <label for="fname">First name:</label><br>
                      <input type="text" id="fname" name="fname" value="<?php echo $fname;?>"><br>
                      <label for="lname">Last name:</label><br>
                      <input type="text" id="lname" name="lname" value="<?php echo $lname;?>"><br><br>
                      <input type="submit" value="Submit">
                  </form> 
              
                  <script>
                      function visForm(){
                          document.getElementById("form").style.display = 'block';
                      }
                  </script>
              </body>
              

              את השאלה של איך להציג מידע לפי INI אני שואל בנוסף.

              נו אז כשנענה לך על אחד תברח לשני? תביא קוד שטוען INI ןאראה לך איך להציג דף שונה לפי המידע שנטען.

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              G תגובה 1 תגובה אחרונה
              4
              • G מנותק
                G מנותק
                GOOGL
                השיב לdovid ב נערך לאחרונה על ידי
                #11

                @dovid
                תודה רבה על ההסבר הברור!
                לגבי השאלה השניה אז:
                דוגמא למה שמופיע בקובץ INI לאחר שליחה של הטופס בפעם הראשונה:

                Form_num = 1
                First_name = Israel
                Last_name = Israeli
                

                דוגמא לשליפת הערכים מ INI:

                <?php
                $fname = $lname = $Form_num = "";
                if (empty($_POST["fname"])) { 
                } else {
                    $fname = $_POST["fname"];
                }
                if (empty($_POST["lname"])) {
                } else {
                    $lname = $_POST["lname"];
                }
                
                if (empty($_POST["Form number"])) {
                } else {
                    $Form_num = $_POST["Form number"];
                }
                
                $ini_array = parse_ini_file("Names.ini");
                $Form_num_ini = $ini_array['Form_num'];
                $First_name_ini = $ini_array['First_name'];
                $Last_name_ini = $ini_array['Last_name'];
                
                ?>
                
                <html>
                <body>
                
                <?php if ($_POST["show_form"]) : ?>
                        <form action="">
                            <label for="Form number">Form number:</label><br>
                            <input type="text" id="Form number" name="Form number" value="<?php echo $Form_num; ?>"><br>
                            <label for="fname">First name:</label><br>
                            <input type="text" id="fname" name="fname" value="<?php echo $fname; ?>"><br>
                            <label for="lname">Last name:</label><br>
                            <input type="text" id="lname" name="lname" value="<?php echo $lname; ?>"><br><br>
                            <input type="submit" value="Submit">
                        </form>
                    <?php else : ?>
                        <form method="POST">
                            <input type="hidden" value="show_form" />
                            <button type="submit">הצג טופס</button>
                        </from>
                    <?php endif; ?>
                
                </body>
                </html>
                

                האם לדוגמא ככה זה יהיה נכון להציג דף שונה לפי המידע שנטען?

                <body>
                
                <?php if ($Form_num_ini == 1) : ?>
                        <p>Form number:<?php echo $Form_num; ?></p><br>
                        <p>First name:<?php echo $fname; ?></p><br> 
                        <p>Last name:<?php echo $lname; ?></p>   
                    <?php else : ?>
                    <?php endif; ?>
                
                </body>
                

                רק שאם יש לי 10 טפסים אני צריך אולי להריץ ללואה...

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לGOOGL ב נערך לאחרונה על ידי
                  #12

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

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  G תגובה 1 תגובה אחרונה
                  3
                  • G מנותק
                    G מנותק
                    GOOGL
                    השיב לdovid ב נערך לאחרונה על ידי
                    #13

                    @dovid
                    נכון, הדוגמא שהבאת מקודם ב JS הרבה יותר טובה כי היא פשוטה ולא מרעננת את הדף.
                    האם יש דוגמא דומה גם במקרה הזה ב JS?

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לGOOGL ב נערך לאחרונה על ידי
                      #14

                      @GOOGL האמת שלא קראתי טוב מה שכתבת, דוקא במקרה הזה אין ייתרון משמעותי לJS.
                      בכל מקרה, אני מציע לעשות תיקיה בשרת, לקרוא לה נגיד forms, בתוכה שים קבצים עם שמות שתוכל לשלוף לפי הINI, למשל 1.php וכן הלאה.
                      בכל קובץ מהם שים טופס, למשל 1.php ייראה ככה:

                          <form action="">
                              <label for="Form number">Form number:</label><br>
                              <input type="text" id="Form number" name="Form number" value="<?php echo $Form_num; ?>"><br>
                              <label for="fname">First name:</label><br>
                              <input type="text" id="fname" name="fname" value="<?php echo $fname; ?>"><br>
                              <label for="lname">Last name:</label><br>
                              <input type="text" id="lname" name="lname" value="<?php echo $lname; ?>"><br><br>
                              <input type="submit" value="Submit">
                          </form>
                      

                      בדף הראשי (עליו עבדת עד עכשיו) תכתוב כזה קוד:

                      <?php
                      $fname = $lname = $Form_num = "";
                      if (empty($_POST["fname"])) { 
                      } else {
                          $fname = $_POST["fname"];
                      }
                      if (empty($_POST["lname"])) {
                      } else {
                          $lname = $_POST["lname"];
                      }
                      
                      if (empty($_POST["Form number"])) {
                      } else {
                          $Form_num = $_POST["Form number"];
                      }
                      
                      $ini_array = parse_ini_file("Names.ini");
                      $Form_num_ini = $ini_array['Form_num'];
                      $First_name_ini = $ini_array['First_name'];
                      $Last_name_ini = $ini_array['Last_name'];
                      
                      
                      include("forms/$Form_num_ini.php");
                      

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

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      G תגובה 1 תגובה אחרונה
                      1
                      • G מנותק
                        G מנותק
                        GOOGL
                        השיב לdovid ב נערך לאחרונה על ידי
                        #15

                        @dovid
                        אוקי, אבל זה חייב לבוא יחד עם ללואה, לא?

                        <?php 
                        $a = 1;
                        while ($Form_num_ini >= $a) {
                            include("forms/$a.php");
                            $a ++;
                        }
                        ?>
                        
                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          השיב לGOOGL ב נערך לאחרונה על ידי dovid
                          #16

                          @GOOGL אני הנחתי ש$Form_num_ini מכיל מספר שהוא מתייחס לטופס בודד (למשל 5 = טופס מס' 5).
                          אם ההנחה שלי נכונה אין שום טעם פה בלולאה.

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          G תגובה 1 תגובה אחרונה
                          0
                          • G מנותק
                            G מנותק
                            GOOGL
                            השיב לdovid ב נערך לאחרונה על ידי GOOGL
                            #17

                            @dovid
                            לפי איך שאני מביןinclude("forms/$Form_num_ini.php"); יציג רק טופס אחד,

                            אבל מה עם יש לי 2 טפסים שמולאו וקובץ ה INI נראה ככה:

                            [Form_num = 1]
                            First_name = Israel
                            Last_name = Israeli
                            
                            [Form_num = 2]
                            First_name = Sarah
                            Last_name = Cohen
                            
                            
                            dovidD תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לGOOGL ב נערך לאחרונה על ידי
                              #18

                              @GOOGL סוף סוף אתה מואיל לחשוף טפח מסודות הגרעין... תנסה להיות יותר שקוף ולתת יותר מידע.
                              ואתה רוצה בדף אחד להציג למשתמש את כל הטפסים שבקובץ עם כל הערכים המתאימים?
                              אני חשבתי שאתה רוצה לפי קריטריונים לשלוף טופס מסויים.
                              בקיצור תגיד מה בסוף אתה רוצה שיוצג למשתמש לפי הini האחרון שהראת.

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              G תגובה 1 תגובה אחרונה
                              2
                              • G מנותק
                                G מנותק
                                GOOGL
                                השיב לdovid ב נערך לאחרונה על ידי GOOGL
                                #19

                                @dovid אמר בהוספת עוד חלק קוד html ו PHP דינמי.:

                                @GOOGL סוף סוף אתה מואיל לחשוף טפח מסודות הגרעין...

                                מתנצל, לא התכוונתי להסתיר, חשבתי שאני ברור.

                                בקיצור תגיד מה בסוף אתה רוצה שיוצג למשתמש לפי הini האחרון שהראת

                                נגיד שיש לי 2 קבצי INI אחד בשם Form_num_1.INI והשני בשם Form_num_2.INI

                                ב Form_num_1.INI יש :

                                First_name = Israel
                                Last_name = Israeli
                                

                                וב Form_num_2.INI יש :

                                First_name = Sarah
                                Last_name = Cohen
                                

                                ואני רוצה שזה יוצג ככה:
                                First name:Israel
                                Last name:Israeli
                                First name:Sarah
                                Last name:Cohen

                                dovidD תגובה 1 תגובה אחרונה
                                0
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  השיב לGOOGL ב נערך לאחרונה על ידי
                                  #20

                                  @GOOGL בהודעה הראשונה שלך היה נראה שאתה רוצה לתת טופס HTML שונה לפי מידע מסויים.
                                  כעת אני מבין שאתה רוצה להציג בדף אחד, טופס שחוזר על עצמו על כל קובץ INI עם הערכים המתאימים בכל אחד.
                                  ההבנה האחרונה נכונה?

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  G תגובה 1 תגובה אחרונה
                                  0
                                  • G מנותק
                                    G מנותק
                                    GOOGL
                                    השיב לdovid ב נערך לאחרונה על ידי
                                    #21

                                    @dovid
                                    בדיוק!

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      השיב לGOOGL ב נערך לאחרונה על ידי
                                      #22

                                      @GOOGL נסה את הקוד הבא:

                                      <?php
                                      
                                      $ini_array = parse_ini_file("Names.ini", true);
                                      
                                      ?>
                                      
                                      <html>
                                      
                                      <body>
                                      
                                          <?php
                                          foreach ($ini_array as $key => $data) {
                                          ?>
                                      
                                              <form>
                                                  <label for="Form number">Form number:</label><br>
                                                  <input type="text" id="Form number" name="Form number" value="<?php echo $key; ?>"><br>
                                                  <label for="fname">First name:</label><br>
                                                  <input type="text" id="fname" name="fname" value="<?php echo $data["fname"]; ?>"><br>
                                                  <label for="lname">Last name:</label><br>
                                                  <input type="text" id="lname" name="lname" value="<?php echo $data["lname"]; ?>"><br><br>
                                                  <input type="submit" value="Submit">
                                              </form>
                                              <hr style="margin-bottom: 20px;">
                                          <?php
                                          }
                                          ?>
                                      </body>
                                      
                                      </html>
                                      

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      G תגובה 1 תגובה אחרונה
                                      0
                                      • G מנותק
                                        G מנותק
                                        GOOGL
                                        השיב לdovid ב נערך לאחרונה על ידי GOOGL
                                        #23

                                        @dovid
                                        אם אני מבין נכון, הקוד הזה טוב למקרה של קובץ INI שיש בו מערך עם שני מפתחות.
                                        השאלה שלי אם יש לי שני קבצי INI ובכל אחד מערך אחד, מהי הדרך הנכונה להציג אותם.

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

                                        dovidD תגובה 1 תגובה אחרונה
                                        0
                                        • dovidD מנותק
                                          dovidD מנותק
                                          dovid ניהול
                                          השיב לGOOGL ב נערך לאחרונה על ידי dovid
                                          #24

                                          @GOOGL הקוד שלי יועד למקרה הזה

                                          [Form_num = 1]
                                          First_name = Israel
                                          Last_name = Israeli
                                          
                                          [Form_num = 2]
                                          First_name = Sarah
                                          Last_name = Cohen
                                          
                                          

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

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                          G תגובה 1 תגובה אחרונה
                                          1

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום