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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 3 כותבים 610 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                                        • G מנותק
                                          G מנותק
                                          GOOGL
                                          השיב לdovid ב נערך לאחרונה על ידי
                                          #25

                                          @dovid
                                          אני חושב שהסברתי פה בדיוק את זה.
                                          בכל אופן אני מאוד מאוד מודה לך על העזרה, אתה אדם מדהים!

                                          תגובה 1 תגובה אחרונה
                                          1
                                          • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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