我已经在我的网站上建了一个提交表单。输入表单的信息存储在数据库中,照片存储在服务器上的文件夹中,图像存储在数据库中。
我的代码是基于我在类中完美运行的示例。但是,当表单加载时,我收到以下消息
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的名称
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的照片
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的Bio
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的城市
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的状态
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的Zipcode
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的流派
注意:未定义的变量:第28行的C:\ HTML \ mgertenbach \ BAND \ submitband.php中的链接
我尝试过的任何内容都无法使页面正常工作,我无法弄清楚代码的问题。
谢谢!
$dbc=mysql_connect('localhost', 'mgertenbach', 'mollyr');
mysql_select_db('mgertenbach', $dbc);
$problem = FALSE;
if (!empty($_POST['bandname']) && !empty($_POST['bandbio']) && !empty($_POST['bandcity']) && !empty($_POST['bandstate']) && !empty($_POST['bandzipcode']) && !empty($_POST['bandgenre']) && !empty($_POST['bandlink'])) {
$Name = trim(strip_tags($_POST['bandname']));
$Bio = trim(strip_tags($_POST['bandbio']));
$City = trim(strip_tags($_POST['bandcity']));
$State = trim(strip_tags($_POST['bandstate']));
$Zipcode = trim(strip_tags($_POST['bandzipcode']));
$Genre = trim(strip_tags($_POST['bandgenre']));
$Link = trim(strip_tags($_POST['bandlink']));
}else {
if (!$problem) {
$query = "INSERT INTO band_information (Name, Photo, Bio, City, State, Zipcode, Genre, Link)
VALUES ('$Name', '$Photo', '$Bio', '$City', '$State', '$Zipcode', '$Genre', '$Link');";
if($_SERVER['REQUEST_METHOD']=='POST'){
if(move_uploaded_file($_FILES['thefile']['tmp_name'], "C:\\HTML\\mgertenbach\\BAND\\photos\\{$_FILES['thefile']['name']}") && @mysql_query($query, $dbc)){
print '<p>Thanks for submitting your band!</p>';
} else {
print '<p>Could not submit band because: <br/>' .
mysql_error($dbc) . '</p>';
}
}
else {
?>
<h3>Please fill out the following information.</h3>
<form action="submitband.php" method="post">
<fieldset><legend>Who Are You?</legend>
<label>Band Name: <input type="text" id="bandname" name="bandname" size="10"/></label>
<br/><br/>
<label>Upload Photo*: <input type="file" id="bandphoto" name="bandphoto"/></label>
<br/> *image must be a square file
<br/><br/>
<label>Enter a short bio: <br/><textarea id="bandbio" name="bandbio" cols="40" rows="10"></textarea></label>
</fieldset>
<br/><br/>
<fieldset><legend>Where Are You From?</legend>
<label>City: <input type="text" id="bandbio" name="bandcity" size="10"/></label>
<br/><br/>
<label>State:
<select id="bandstate" name="bandstate">
<option value=""> </option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District Of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select></label>
<br/><br/>
<label>Zipcode: <input type="text" id="bandzipcode" name="bandzipcode" size="10"/></label>
</fieldset>
<br/><br/>
<fieldset><legend>What's Your Music Like?</legend>
<label>Genre:
<select id="bandgenre" name="bandgenre">
<option value="country">Country</option>
<option value="electronic">Electronic</option>
<option value="folk">Folk</option>
<option value="indie">Indie</option>
<option value="punk">Punk</option>
<option value="rock">Rock</option>
</select>
</label>
<br/><br/>
<label>Share a link to where we can hear it: <input type="text" id="bandlink" name="bandlink" size="40"/></label>
</fieldset>
<br/><br/>
<input type="submit" value="submit"/>
</form>
<?php
}
}
}
?>
答案 0 :(得分:0)
您正在测试各种$_POST
变量的存在,如果您找到它们,则只需针对它们设置一些局部变量。
如果您不找到所有内容,请继续尝试将信息写入数据库。
仔细观察if...then...else
应该如何运作。
附注:
mysql_*()
函数已弃用。不要使用它们。请改用mysqli_*()
或PDO
。
您使用trim(strip_tags())
作为某种形式的清理工作。这远远不够好。您应该使用mysql_real_escape_string()
(对于mysql),或考虑转移到准备好的语句。