在按钮触发之前,代码不会执行

时间:2011-12-02 15:03:13

标签: php mysql

我需要你的帮助。所以问题是我已经完成了一些编码,但我不知道为什么它在页面加载时不起作用。但当我触发任何按钮(保存信息修改或取消信息修改)时,它可以工作。

php代码:

if(isset($_POST['nametb']) && isset($_POST['usernametb']) && isset($_POST['emailtb']) && isset($_POST['confirmtb']) && isset($_POST['abouttb']) && isset($_POST['interesttb']) && isset($_POST['dreamtb']) && isset($_POST['liketb']) && isset($_POST['schooltb']) && isset($_POST['schoolyrtb']) && isset($_POST['occupationtb']) && isset($_POST['occupationyrtb'])){

            $select_info = "SELECT * from user_info WHERE id='$user_id'";

            if($select_info_run = @mysql_query($select_info)){

                $namedb = mysql_result($select_info_run, 0, 'name');
                $usernamedb = mysql_result($select_info_run, 0, 'username');
                $emaildb = mysql_result($select_info_run, 0, 'email');
                $confirmdb = mysql_result($select_info_run, 0, 'email');
                $aboutdb = mysql_result($select_info_run, 0, 'about');
                $interestdb = mysql_result($select_info_run, 0, 'interest');
                $dreamdb = mysql_result($select_info_run, 0, 'dream');
                $likedb = mysql_result($select_info_run, 0, 'like');
                $schooldb = mysql_result($select_info_run, 0, 'school');
                $schoolyrdb = mysql_result($select_info_run, 0, 'schoolyr');
                $occupationdb = mysql_result($select_info_run, 0, 'occupation');
                $occupationyrdb = mysql_result($select_info_run, 0, 'occupationyr');

            }
            else{
                echo 'Server down :(';
            }


        }
            else{
                echo server down :(';
            }        

html代码:

<form action="<?php if(isset($current_file)){ echo $current_file; } ?>" method="POST">  
<fieldset id="fieldset1">
<legend style="font-family: Ubuntu; font-size:20px;">Info</legend>
<label id="name" title="Name" for="textbox1">Name :</label>
<label id="username" title="UserName" for="textbox2">UserName :</label>
<label id="email" title="Email" for="textbox3">Email :</label>
<label id="confirm" title="Confirm Email" for="textbox4">Confirm :</label>
<br />
<input type="text" id="textbox1" name="nametb" value="<?php if(isset($namedb)){ echo $namedb; } ?>" />
<input type="text" id="textbox2" name="usernametb" value="<?php if(isset($usernamedb)){ echo $usernamedb; } ?>" />
<input type="text" id="textbox3" name="emailtb" value="<?php if(isset($emaildb)){ echo $emaildb; } ?>" />
<input type="text" id="textbox4" name="confirmtb" value="<?php if(isset($confirmdb)){ echo $confirmdb; } ?>" />
<br /><br />
<div id="hrln"><hr /></div>                                                                          
<label id="about" title="About you" for="textarea1">About :</label>
<label id="interest" title="You are interested in?" for="textarea2">Interested in :</label>
<br />  
<textarea id="textarea1" name="abouttb"><?php if(isset($aboutdb)){ echo $aboutdb; } ?></textarea>
<textarea id="textarea2" name="interesttb"><?php if(isset($interestdb)){ echo $interestdb; } ?></textarea>
<br /><br /><br /><br /><br /><hr />
<label id="dream" title="Your Dream?" for="textarea3">Dream :</label>
<label id="like" title="What do you like?" for="textarea4">You like :</label>
<br />  
<textarea id="textarea3" name="dreamtb"><?php if(isset($dreamdb)){ echo $dreamdb; } ?></textarea>
<textarea id="textarea4" name="liketb"><?php if(isset($likedb)){ echo $likedb; } ?></textarea>
<br /><br /><br /><br /><br /><hr />
<label id="education" title="Your school" for="textbox5">School | University :</label>
<label id="educationyr" title="Year" for="textbox6">Year :</label>
<br />
<input type="text" name="schooltb" id="textbox5" value="<?php if(isset($schooldb)){ echo $schooldb; } ?>" />
<input type="text" name="schoolyrtb" id="textbox6" value="<?php if(isset($schoolyrdb)){ echo $schoolyrdb; } ?>" />
<br /><br /><hr />
<label id="occupation" title="Occupation" for="textbox7">Occupation :</label>
<label id="occupationyr" title="Year" for="textbox6">Year :</label>
<br />
<input type="text" id="textbox7" name="occupationtb" value="<?php if(isset($occupationdb)){ echo $occupationdb; } ?>" />
<input type="text" id="textbox8" name="occupationyrtb" value="<?php if(isset($occupationyrdb)){ echo $occupationyrdb; } ?>" />
<br /><br /><hr />
<label id="passwords" title="For Security Purpose" for="textbox9">Password :</label>
<input type="password" id="textbox9" name="passwordstb" />
<input type="submit" value="Save Info Modification" name="save" id="button1" />
<input type="submit" value="Cancel Info Modification" name="cancel" id="button2" />
</fieldset>
</form>

2 个答案:

答案 0 :(得分:1)

您想要显示表单吗?然后,在最后的“其他”中摆脱那个回声。然后将显示表单。当用户单击提交按钮时,表单会将该信息发布到页面。

此外,您的第二个“其他{echo server down :(';}”在服务器关闭之前缺少引号:(';

问题的关键是我称之为“隔离”:你需要找出导致问题的原因。如果时间紧迫,我建议使用“注释 - 代码和刷新页面”技术。但分析和解释你的代码要好得多,并理解为什么它没有做你想要的。

答案 1 :(得分:0)

当你点击按钮时它会运行:


if(isset($_POST['nametb']) && isset($_POST['usernametb']) && isset($_POST['emailtb']) &&
 isset($_POST['confirmtb']) && isset($_POST['abouttb']) && isset($_POST['interesttb']) &&
 isset($_POST['dreamtb']) && isset($_POST['liketb']) && isset($_POST['schooltb']) &&
 isset($_POST['schoolyrtb']) && isset($_POST['occupationtb']) &&
 isset($_POST['occupationyrtb'])){

if语句在执行任何操作之前检查POST数组中是否有任何内容。 当您单击提交按钮(这似乎是按钮)时,由表单发送。

如果您尝试在页面加载时填充字段,则需要将SELECT语句移动到该if语句之外的相关代码。由于您似乎将使用此表单来更新数据库数据,因此应将INSERT / UPDATE语句放在if语句中,以便在单击“提交”按钮之前它们不会运行(等待其他逻辑操作以考虑WHICH按钮)被压了。)