SitePoint Sponsor

User Tag List

Results 1 to 12 of 12
  1. #1
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Get PHP variables to url on submit from form

    Hi

    I am selecting exercise and repetition to see progression with graph and a table.
    And i want to make it possible to copy the link and send it to others with the selected criteria.

    Here is my code..

    Fetch the variables after clicking on submit:
    PHP Code:
    if(isset($_POST['select']))
    {
        
    $ex_id2 $_POST['select_exercise'];
        
    $nr_reps2 $_POST['reps'];


    The form:
    PHP Code:
    <form method="post" action="index.php?action=profile&sub=stats_progress&id=<?php echo $USER_PROFILE->getId(); ?>&exid=<?php if(isset($_POST['select'])){ echo $ex_id2; } ?>&rep=<?php if(isset($_POST['select'])){ echo $nr_reps2; } ?>">
    Now i get the variables to the form after submiting, then when i submit again or reload the page it get to the url.

    Notice: Its the same page, just selecting which exercise to view.

    How can i make them go to the url directly?

  2. #2
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    use method="get" instead of "post"

  3. #3
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by guido2004 View Post
    use method="get" instead of "post"
    Forbidden
    You don't have permission to access /mysite/< on this server.

    In the url it says: http://localhost/mysite/%3C?=$url?%3E

  4. #4
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    Code?

  5. #5
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    PHP Code:
    <?php
    if(isset($_POST['select']))
    {
        
    $ex_id2 $_GET['select_exercise'];
        
    $nr_reps2 $_GET['reps'];
        
    $user_id2 $_GET['user_id'];
        echo 
    $ex_id2;
    }
    ?>
    <form method="get" action="index.php?action=profile&sub=stats_progress&id=<?php echo $USER_PROFILE->getId(); ?>&exid=<?php if(isset($_GET['select'])){ echo $ex_id2; } ?>&rep=<?php if(isset($_GET['select'])){ echo $nr_reps2; } ?>"> 

        <table border="0">
        <tr>
        <td>
        <b><?php echo ucf(translate('exercise')); ?>:</b>
        </td>
        <td>
        <select name="select_exercise">
        <?php
        $sql
    mysql_query("SELECT * FROM exercise_name ORDER BY ex_name ASC");
        while(
    $row mysql_fetch_assoc($sql))
        {    
            
    $ex_id $row['ex_id'];
            
    $ex_name $row['ex_name'];    
            echo 
    '<option name="ex_id" value='$ex_id.'';
            if(isset(
    $_POST['select']) && $_POST['select_exercise']== $ex_id) { echo " selected='selected'"; }
            echo 
    '>'translate($ex_name) . '</option>';
        }
        
    ?>
        </select>
        </td>
            <td align="right">
            <b><?php echo ucf(translate('reps')); ?>:</b>
            </td>
            
            <td>
            <select name="reps">
            <option name="reps" value="1" <?php if(isset($_POST['select']) && $_POST['reps']== 1) { echo " selected='selected'"; } ?>>1RM</option>
            <option name="reps" value="2" <?php if(isset($_POST['select']) && $_POST['reps']== 2) { echo " selected='selected'"; } ?>>2RM</option>
            <option name="reps" value="3" <?php if(isset($_POST['select']) && $_POST['reps']== 3) { echo " selected='selected'"; } ?>>3RM</option>
            <option name="reps" value="4" <?php if(isset($_POST['select']) && $_POST['reps']== 4) { echo " selected='selected'"; } ?>>4RM</option>
            <option name="reps" value="5" <?php if(isset($_POST['select']) && $_POST['reps']== 5) { echo " selected='selected'"; } ?>>5RM</option>
            <option name="reps" value="6" <?php if(isset($_POST['select']) && $_POST['reps']== 6) { echo " selected='selected'"; } ?>>6RM</option>
            <option name="reps" value="7" <?php if(isset($_POST['select']) && $_POST['reps']== 7) { echo " selected='selected'"; } ?>>7RM</option>
            <option name="reps" value="8" <?php if(isset($_POST['select']) && $_POST['reps']== 8) { echo " selected='selected'"; } ?>>8RM</option>
            <option name="reps" value="9" <?php if(isset($_POST['select']) && $_POST['reps']== 9) { echo " selected='selected'"; } ?>>9RM</option>
            <option name="reps" value="10" <?php if(isset($_POST['select']) && $_POST['reps']== 10) { echo " selected='selected'"; } ?>>10RM</option>
            <option name="reps" value="11" <?php if(isset($_POST['select']) && $_POST['reps']== 11) { echo " selected='selected'"; } ?>>11RM</option>
            <option name="reps" value="12" <?php if(isset($_POST['select']) && $_POST['reps']== 12) { echo " selected='selected'"; } ?>>12RM</option>
            <option name="reps" value="13" <?php if(isset($_POST['select']) && $_POST['reps']== 13) { echo " selected='selected'"; } ?>>13RM</option>
            <option name="reps" value="14" <?php if(isset($_POST['select']) && $_POST['reps']== 14) { echo " selected='selected'"; } ?>>14RM</option>
            <option name="reps" value="15" <?php if(isset($_POST['select']) && $_POST['reps']== 15) { echo " selected='selected'"; } ?>>15RM</option>
            <option name="reps" value="16" <?php if(isset($_POST['select']) && $_POST['reps']== 16) { echo " selected='selected'"; } ?>>16RM</option>
            <option name="reps" value="17" <?php if(isset($_POST['select']) && $_POST['reps']== 17) { echo " selected='selected'"; } ?>>17RM</option>
            <option name="reps" value="18" <?php if(isset($_POST['select']) && $_POST['reps']== 18) { echo " selected='selected'"; } ?>>18RM</option>
            <option name="reps" value="19" <?php if(isset($_POST['select']) && $_POST['reps']== 19) { echo " selected='selected'"; } ?>>19RM</option>
            <option name="reps" value="20" <?php if(isset($_POST['select']) && $_POST['reps']== 20) { echo " selected='selected'"; } ?>>20RM</option>
            </select>
            </td>
        
            <td>
            <input type="hidden" name="user_id" value="<?php echo $USER_PROFILE->getId(); ?>"  />
            <input type="submit" style="font-weight:bold;" name="select" value=" <?php echo ucf(translate('show')); ?> "  />
            </td>
        </table>
    </form>
    Code to display table and graph
    PHP Code:
    <?php 
    if(isset($_GET['select']))
    {
        
    $ex_id $_GET['select_exercise'];
        
    $nr_reps $_GET['reps'];
        
    $user_id $_GET['user_id'];
        

    echo 
    "<br /><h1>" ucf(translate(getExercisename($ex_id))) . " - "$nr_reps "RM</h1><br />";
        
        
    // Get all the data
        
    $result mysql_query("SELECT DISTINCT
        training.date, 
        lifts.kg,
        lifts.url,
        training.training_id,
        training.place,
        training.bodyweight
        FROM lifts, training
        WHERE training.training_id=lifts.training_id AND lifts.rep = "
    $nr_reps ." and exercise_id= "$ex_id ." AND training.user_id ="$user_id ."
        ORDER BY training.date"
    ) or die(mysql_error());
        
        
    // Get the PB
        
    $result_pb mysql_query("SELECT DISTINCT
        training.date, 
        max(lifts.kg) as kg,
        training.training_id
        FROM lifts, training
        WHERE training.training_id=lifts.training_id AND lifts.rep = "
    $nr_reps ." and exercise_id= "$ex_id ." AND training.user_id ="$user_id ."
        ORDER BY training.date LIMIT 1"
    ) or die(mysql_error());
        
        
    // Get the last/badest lift
        
    $result_bpb mysql_query("SELECT DISTINCT
        training.date, 
        lifts.kg,
        training.training_id
        FROM lifts, training
        WHERE training.training_id=lifts.training_id AND lifts.rep = "
    $nr_reps ." and exercise_id= "$ex_id ." AND training.user_id ="$user_id ."
        ORDER BY training.date LIMIT 1"
    ) or die(mysql_error());

    $num mysql_num_rows($result);
    $i=1;
    $strXML "<chart caption='" ucf(translate('myprogress')) . " - " ucf(translate(getExercisename($ex_id))) . " "$nr_reps "RM" "' subCaption='" ucf(translate('for')) . " " getNameFromId($USER_PROFILE->getId()) . "' showBorder='1' formatNumberScale='0' numberSuffix='"$w_metric ."' baseFont='Arial' exportEnabled='1' exportAtClient='0' exportHandler='Charts/ExportHandlers/PHP/FCExporter.php' exportAction='download' exportTargetWindow='_blank' exportFileName='" ucf(translate('myprogress')) . "'>";

    if(
    $i <= $num)

            echo 
    "<table><tr><td>
                <table border='1'>"
    ;
            echo 
    "<tr><th>" translate('date') . "</th><th>"ucf(translate('place')) ."</th><th>" ucf(translate('bodyweight')) . "</th><th>"translate('lifted') ."</th></tr>";
            
            
    $max_kg 0;
            
            
    // keeps getting the next row until there are no more to get
            
    while($row mysql_fetch_array($result)) 
            {
                if(
    r_nr(calcFromKg($row['kg'])) > $max_kg)
                {
                
    $max_kg r_nr(calcFromKg($row['kg']));

                
    // Print out the contents of each row into a table
                
    echo "<tr><td width='140' align='center'>";
                echo 
    formatDate($row['date'], $dateformat);
                echo 
    "</td><td width='160' align='center'>";
                echo 
    $row['place'];
                echo 
    "</td><td width='100' align='center'>";
                echo 
    r_nr2(calcFromKg($row['bodyweight'])). $w_metric;
                echo 
    "</td><td width='130' align='center'>"
                echo 
    "<a href='index.php?action=profile&sub=show&tid="$row['training_id'] ."'>";
                if(
    $w_metric == "kg")
                {
                echo 
    r_nr2(calcFromKg($row['kg'])). $w_metric "</a>";
                
                 
    $strXML .= "<set label='" formatDate($row['date'], $dateformat) . "' value='" $row['kg'] . "' tooltext='" r_nr2(calcFromKg($row['kg'])). $w_metric "{br}"formatDate($row['date'], $dateformat) ."{br}"$row['place'] ."' />";
                
                    if(
    $row['url'] != "")
                    {
                        echo 
    " <a href='" $row['url'] . "' target='_blank'><img title="translate('show_video') ." src='img/video.png' /></a>";
                    }
                }
                else
                {
                echo 
    r_nr(calcFromKg($row['kg'])). $w_metric "</a>";
                
                 
    $strXML .= "<set label='" formatDate($row['date'], $dateformat) . "' value='" $row['kg'] . "' tooltext='" r_nr(calcFromKg($row['kg'])). $w_metric "{br}"formatDate($row['date'], $dateformat) ."{br}"$row['place'] ."'/>";
                
                    if(
    $row['url'] != "")
                    {
                        echo 
    " <a href='" $row['url'] . "' target='_blank'><img alt=title="translate('show_video') ." title="translate('show_video') ." src='img/video.png' /></a>";
                    }
                }
                echo 
    "</td></tr>"
                
    $i++;
                
    $counter $i;
                }
                
            }
            
    $strXML .= "</chart>";
            
            
    $check $counter-1;
            echo 
    "</table></td>
                <td valign='top' style='padding-left: 50px;'>
                            <table border='0'>
                                    <tr>
                                        <td>"
    ;
                                    if(
    $check >= 2)
                                    {
                                        while(
    $row2 mysql_fetch_array($result_pb)) 
                                        {
                                        echo 
    translate('mycurrentpris') .  ": <b>" r_nr(calcFromKg($row2['kg'])). $w_metric "</b> (" formatDate($row2['date'], $dateformat) . ")";
                                        
    $curpr r_nr(calcFromKg($row2['kg']));
                                        
    $curdate $row2['date'];
                                        }
                                        echo 
    "
                                        </td>
                                    </tr>"
    ;
                                    
                                    echo 
    "<tr>
                                        <td>"
    ;
                                        while(
    $row3 mysql_fetch_array($result_bpb)) 
                                        {
                                        echo 
    translate('myfirstprwas') .  ": <b>" r_nr(calcFromKg($row3['kg'])). $w_metric "</b> (" formatDate($row3['date'], $dateformat) . ")";
                                        
    $oldpr r_nr(calcFromKg($row3['kg']));
                                        
    $olddate $row3['date'];
                                        }
                                        echo 
    "
                                        </td>
                                    </tr>
                                    
                                    <tr>
                                        <td colspan='2'>"
    ;
                                        
    $diff $curpr-$oldpr;
                                        
    $diff_pro round((($curpr-$oldpr)/$oldpr*100), 2);
                                        echo 
    "<b>" $diff$w_metric "/" $diff_pro "%</b> " translate('increase') . " " strtolower(translate('in')) . " ca. " getHowLongAgo2($olddate$curdate) . ".";
                                        echo 
    "
                                        </td>
                                    </tr>"
    ;
                                    }
                            echo 
    "</table>
                </td>
            </tr>
            </table><br />"
    ;        
            if(
    $check >= 2//graph start
            
    {
                echo 
    renderChart("Charts/Line.swf"""$strXML"".ucf(translate('myprogress')).""900400falsetrue);
            }
            
            echo 
    "<div class='fixed'>
                                </div>
                            </div>
                            </div>
                        <div class='fixed'>
                        </div>
                        <div id='footer'>
                        <a id='gotop' href='#' onclick='MGJS.goTop();return false;'>" 
    translate('top') . "</a>
                            <div align='center' id='copyright'>&copy; " 
    translate('copyrightyear') . " " translate('header_text'). " - " .  translate('curversion') ." - <a href='index.php?action=contact'>" translate('contact') ."</a> - <a href='index.php?action=about'>" translate('about') . "</a> - " translate('onlineusers'). ": " getActiveUsers() . "<br />
                            </div>"
    ;
                exit;
                
    }
    else
    {
        echo 
    translate('noresultshof');
        echo 
    "<div class='fixed'>
                        </div>
                    </div>
                    </div>
                <div class='fixed'>
                </div>
                <div id='footer'>
                <a id='gotop' href='#' onclick='MGJS.goTop();return false;'>" 
    translate('top') . "</a>
                    <div align='center' id='copyright'>&copy; " 
    translate('copyrightyear') . " " translate('header_text'). " - " .  translate('curversion') ." - <a href='index.php?action=contact'>" translate('contact') ."</a> - <a href='index.php?action=about'>" translate('about') . "</a> - " translate('onlineusers'). ": " getActiveUsers() . "<br />
                    </div>"
    ;
        exit;

    }
    }
    else
    {
      echo 
    "<br /><br /><br /><br /><br /><br /><br /><br /><br />
            <center><h2>" 
    translate('addanewtrainingtostart') . "</h2></center>";
    }
    ?>

  6. #6
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    You are using get as a method now, so $_POST['select'] doesn't exist anymore. It's $_GET['select'] now.

    And where does that <?=$url> in the link come from? You don't have $url in the script you posted?

  7. #7
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by guido2004 View Post
    You are using get as a method now, so $_POST['select'] doesn't exist anymore. It's $_GET['select'] now.

    And where does that <?=$url> in the link come from? You don't have $url in the script you posted?
    Code PHP:
    if(!checkSession())
    {
    	function redirect($url)
    			{
    			?>
    				<script type="text/javascript">
    					{
    					window.location = "<?=$url?>";
    					}
    				</script>
    			<?php 
    			}
    			redirect("index.php?action=login");
    	exit;
    }

  8. #8
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    Maybe there's a space missing after $url?
    Anyway, I wouldn't use the short hand version if I were you. I prefer:
    PHP Code:
    window.location = "<?php echo $url?>";

  9. #9
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by guido2004 View Post
    Maybe there's a space missing after $url?
    Anyway, I wouldn't use the short hand version if I were you. I prefer:
    PHP Code:
    window.location = "<?php echo $url?>";
    It happens the same thing..

  10. #10
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    Quote Originally Posted by Walgermo View Post
    It happens the same thing..
    What does the url look like now?

  11. #11
    SitePoint Enthusiast
    Join Date
    Feb 2011
    Posts
    29
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by guido2004 View Post
    What does the url look like now?
    It blinks
    index.php?select_exercise=2&reps=10&user_id=49&select=+Show+
    before
    %3C?=$url?%3E
    returns and forbidden page ...

    Strange since i have decleared
    <form method="get" action="index.php?action=profile&sub=stats_progress&id=<?php echo $USER_PROFILE->getId(); ?>&exid=<?php if(isset($_GET['select'])){ echo $ex_id2; } ?>&rep=<?php if(isset($_GET['select'])){ echo $nr_reps2; } ?>">

  12. #12
    From Italy with love silver trophybronze trophy
    guido2004's Avatar
    Join Date
    Sep 2004
    Posts
    9,496
    Mentioned
    163 Post(s)
    Tagged
    4 Thread(s)
    So you used this
    Code:
     window.location = "<?php echo $url; ?>";
    And the url still gives %3C?=$url?%3E?

    Did you check the HTML code of the page? Find window.location and see what the code looks like exactly.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •