duanfen2349
2014-11-22 21:09
浏览 38
已采纳

在php中获取输入类型按钮的值

I wrote this code but the problem is that when I press the "Change background" button, nothing changes but I should be able to see some part of contents after I pressed it.

<form name="change "action="index.php" method="get">
        <center><a href="index.php"><button type="button">REFRESH THE PAGE!!</button></a></center><br/>
        <center><b>WELCOME NOTE!!</b></center><br/>
        <center><textarea readonly="readonly" name="textarea" rows="6" cols="50" style="color:blue; font-size:15pt">Each day holds a surprise. But only if we expect it can we see, hear, or feel it when it comes to us. Let's not be afraid to receive each day's surprise, whether it comes to us as sorrow or as joy It will open a new place in our hearts, a place where we can welcome new friends and celebrate more fully our shared humanity.</textarea></center>
<br/>

<?php

        mysql_connect("localhost","DB","password") or die("ERROR!!");
        mysql_select_db("DB") or die("COULDN'T FIND IT!!") or die("COULDN'T FIND DB"); 


        $sql = mysql_query("SELECT * FROM background");

        $id = 'ID';
        $Blue = 'blue';
        $White = 'white';
        $Silver = 'silver';
        $Red = 'red';
        $text=$_GET['textarea'];

        while($rows = mysql_fetch_assoc($sql)){


            if (isset( $_SESSION['CurrentUser'])){

            echo '<center><button type="button" name="background">Change background</button>';
            echo '<button type="button" name="color">Change font color</button>';
            echo '<button type="button" name="size">Change font size</button></center><br/>'; 

                if (isset( $_GET['background'])){ 
                echo '<span>Choose background color</span><br/>';
                echo '<a href="?colour='.$Blue.'"><img src="red.png"></a>'; 
                echo '<a href="?colour='.$White.'"><img src="white.jpg"></a>'; 
                echo '<a href="?colour='.$Silver.'"><img src="silver.jpg"></a>';
                echo '<a href="?colour='.$Red.'"><img src="red.png"></a>'; }

            }               

    }
    ?>

    </form>


    </td></tr></table>

Program doesn't see this part;

if (isset( $_GET['background'])){ 
                    echo '<span>Choose background color</span><br/>';
                    echo '<a href="?colour='.$Blue.'"><img src="red.png"></a>'; 
                    echo '<a href="?colour='.$White.'"><img src="white.jpg"></a>'; 
                    echo '<a href="?colour='.$Silver.'"><img src="silver.jpg"></a>';
                    echo '<a href="?colour='.$Red.'"><img src="red.png"></a>'; }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dtng25909 2014-11-22 21:31
    已采纳

    It doesn't work because form cannot be submited without submit button: Replace <button type="button" with <button type="submit"

    BTW use mysqli_ instead of mysql_ because it is deprecated

    点赞 打赏 评论
  • douding6266 2014-11-22 21:19

    EDIT: Change

      if (isset( $_GET['background'])){ 
    

    TO

     if (isset( $_GET['colour'])){ 
    

    and see what happens.

    END EDIT.

    Quick question... does your link have the "background" variable defined in it?

    ...page.php?background=1;

    If the program doesn't see that part then you need to work your way up through the conditions and see what condition it isn't meeting. Either...

    A) ?background=1 is not set in the link

    B) session CurrentUser was not set

    C)Your mysql is returning 0 rows

    点赞 打赏 评论
  • dqz30992 2014-11-22 21:33

    Are you getting background variable to the page. Check url once. You can debug it by using the length of variable by strlen($_GET['background']) . Also print_r($_GET) will print all the variables received by the page

    点赞 打赏 评论

相关推荐 更多相似问题