添加新字段时PHP表单出现问题

添加新字段时PHP表单出现问题,php,forms,Php,Forms,我从codecanyon购买了以下脚本 然后我将脚本添加到我的网站模板中。 我在$fname变量下添加了一个新字段 编辑前: <label>First Name:</label> <input type="text" name="firstName" style="width:400px;" value="<?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>" /> 名字: 试试

我从codecanyon购买了以下脚本

然后我将脚本添加到我的网站模板中。 我在$fname变量下添加了一个新字段

编辑前:

<label>First Name:</label>
<input type="text" name="firstName" style="width:400px;" value="<?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>" />
名字:
试试看

  <select name="fname" id="colorselector" class="styled">
   <option value="slct" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="slct") echo 'selected="selected"'; ?>>Please select a forum you saw me on</option>
   <option value="hf" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="hf") echo 'selected="selected"'; ?>>Hackforums (_Jony_)</option>
   <option value="sy" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="sy") echo 'selected="selected"'; ?>>Sythe (Purepks0r)</option>
   <option value="rs" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="rs") echo 'selected="selected"'; ?>>R-S (Purepks0r)</option>
</select>

>黑客论坛(Jony)
>R-S(Purepks0r)

欢迎来到堆栈溢出。你发布的代码太多了。请将代码向下编辑到您怀疑导致问题的区域。您应该询问这些人,顺便说一下,
标记不需要
属性,因为该值由其所选的
提供。如果它没有值,那么PHP代码将如何将其信息发送到面板从外观上看,该脚本依赖于register_globals的启用,并且极易受到SQL注入攻击。我建议你从这个网站上拿回你的钱,因为他们已经打开了你的服务器,让你的服务器完全被远程破坏。这段代码是垃圾。我尝试过修改它,但它并没有真正解决我的问题。感谢您的回复。如果我删除fname,它仍然会显示错误,因为系统正在检查$fname是否为emptyNot working,我只是添加了旧的fname字段,它工作了,但它忽略了select字段数据,它没有将其发送到面板。。我认为这与HTML无关。可能在config.ini中
<?php
session_start();
require_once('captcha/Captcha.php');
$captcha = new Captcha();
$captcha->newCaptcha(session_id());
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<title>SlyFiles</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="SlyFiles upload" />
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="css/bootstrap.css" type="text/css" media="screen"/>
<link href='http://fonts.googleapis.com/css?family=Dosis' rel='stylesheet' type='text/css'><link rel="stylesheet" href="css/flexslider.css" type="text/css"><script src="js/jquery.flexslider.js"></script><!-- Place in the <head>, after the three links --><script type="text/javascript" charset="utf-8">$(window).load(function() {  $('.flexslider').flexslider({    animation: "slide"  });});</script>
<link rel="stylesheet" href="flexslider.css" type="text/css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="js/jquery.flexslider.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/jquery.lavalamp-1.4.js"></script>
<script type="text/javascript" src="js/jquery.reveal.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<link href='http://fonts.googleapis.com/css?family=Doppio+One' rel='stylesheet' type='text/css'>
</head>
<header>
<div class="container">
  <div class="menu">
<a href="index.php"><div id="logo"></div></a>
<a href="index.php"><div id="home"></div></a>
<a href="portfolio.php"><div id="portfolio"></div></a>
<a href="vouch.php"><div id="vouch"></div></a>
<a href="tos.php"><div id="tos"></div></a>
<a href="order.php"><div id="order-current"></div></a>
  </div>
  <div id="banner"></div>
  <div id="borderbottom"></div>
</div>
</header>
<body>
<div class="container">
<div class="forms">
    <form action="next.php?c=Zm5leHQ=" method="post">
    <br /><br /><center><?php
    /*
        This code should be where you want your error messages shown.
    */
    //Edit this according to your design taste
    $errStyle = 'border: 1px solid red; color: red; width: 410px; padding: 5px; margin: 0 0 15px 0;';
    //----------------------------------
    //----No editing from here----
    //----------------------------------
    /*
        This script displays errors from the form, if any. To edit the messages itself, see err_message.php in the same folder.
    */
    include_once 'err_message.php';
    $no = base64_decode(htmlentities(strip_tags(filter_input(INPUT_GET, 'no'))));
    if($no == NULL) {} else {
    print <<<HERE
    <div style="max-width: 600px; float: left;" class="alert alert-error">
HERE;
    print $errorMes[$no];
    if($errorMes[$no]==NULL) print '<script>location.href="javascript: history.go(-1)"</script>';
    print '</div>';
    }
    ?></center>
    <br /><br /><br />
    <div class="tos1">
<input type="checkbox" id="new_info_yes" class="box1"> I agree to the <a href="#">Terms of Service</a>.
    </div>
    <br />
    <div class="creater">
<div id="new_info_form">
<select type="select" name="fname" id="colorselector" class="styled" value="<?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>" />
   <option value="slct">Please select a forum you saw me on</option>
   <option value="hf <?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>">Hackforums (_Jony_)</option>
   <option value="sy <?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>">Sythe (Purepks0r)</option>
   <option value="rs <?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>">R-S (Purepks0r)</option>
</select>
<br />
<div id="slct" class="colors">You haven't selected any forum.</div>
<div id="hf" class="colors" style="display:none"> <span id="brdr">HackForums:</span> Discount Percent: <font color="green">10%</font> </div>
<div id="sy" class="colors" style="display:none"> <span id="brdr">Sythe:</span> Discount Percent: <font color="green">15%</font> </div>
<div id="rs" class="colors" style="display:none"> <span id="brdr">Rune-Server:</span> Discount Percent: <font color="green">15%</font> </div>
<br />

    <label>Last Name:</label> 
    <input type="text" name="lastName" style="width:420px;" value="<?php if($_GET['sname']) echo urldecode($_GET['sname']); ?>" />

    <label>Phone Number:</label> 
    <input type="text" name="phone" style="width:420px;" value="<?php if($_GET['phoneno']) echo urldecode($_GET['phoneno']); ?>" />

    <label>Email Address:</label> 
    <input type="text" name="email1" style="width:420px;" value="<?php if($_GET['email']) echo urldecode($_GET['email']); ?>" />

    <label>Confirm Email Address:</label> 
    <input type="text" name="email2" style="width:420px;" />

    <label>Message:</label> 
    <textarea name="message" style="width:420px;height:150px;" ><?php if($_GET['mes']) echo urldecode($_GET['mes']); ?></textarea>
<br />
        <img src="captcha/image.php?sid=<?php echo session_id(); ?>&color=grey" alt="" />
        <label>Captcha:</label>
        <input type="text" name="captcha" style="width:400px;" />
<br />
    <input type="submit" value="Send" style="background: #575757; color: #ffffff; border: none; padding: 3px 5px; width:420px; height:40px;" />

      </form>
    </div>
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){

    $('input#upload_yes').change(function(){
        if($(this).is(':checked')) {
            $("#upload_form").show();
        } else {
            $("#upload_form").hide();
        }
    });

    $('input#new_info_yes').change(function(){
         if($(this).is(':checked')) {
                $("#new_info_form").slideDown(500);
        } else {
                $("#new_info_form").delay(300).slideUp(500);;
        }   
    });

    //Trigger the change event so the divs are initially shown or hidden.
    $('input[type=checkbox]').trigger('change');

});
</script>
<script type="text/javascript">
    $(function() {
        $('#colorselector').change(function(){
            $('.colors').hide();
            $('#' + $(this).val()).show();
        });
    });
    </script> 
  </div>
</div>
</body>
<footer>
<div class="container">
  <div class="footer">
  <span id="footer">
  JonyDesigners &copy; 2012, All rights reserved.
  </div>
</div>
</footer>
<script src="http://twitter.com/javascripts/blogger.js" type="text/javascript"></script>
<script src="https://api.twitter.com/1/statuses/user_timeline/rapturesgfx.json?callback=twitterCallback2&count=4" type="text/javascript"></script>
</html>
<?php

/*
This file sets up all the MySQL database and tables, as well as the functions needed in other scripts.
You should only edit the next few lines.
*/

//Change these two variables to your own MySQL username and password.
$mysqluser = "justxpp1_test";
$mysqlpass = "censored";

//Change this variable to your MySQL host's name.
$mysqlhost = "localhost";

//Change this variable to the file path of the form.
$form = "order.php";

//This variable defines the database name.
$dbname = "justxpp1_test";

//Captcha toggle
$captchatoggle = TRUE;

//--------------------------------------------------
//----------Do not alter beyond this point----------
//--------------------------------------------------

//Starts session
session_start();

require_once('captcha/Captcha.php');
$captchaobject = new Captcha();

//Establish MySQL connection
$dbp = mysql_connect($mysqlhost, $mysqluser, $mysqlpass);
if(!$dbp) die('There was an error while connecting to the database'.mysql_error());
//This part sets up the database if not set up already
$result = mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname`;", $dbp);mysql_select_db($dbname, $dbp);
//Creates table named "records"
$result = mysql_query("CREATE TABLE IF NOT EXISTS records (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,firstname VARCHAR (15) NOT NULL,surname VARCHAR (20) NOT NULL,email VARCHAR (40) NOT NULL,phoneno VARCHAR (15) NOT NULL, message TEXT NOT NULL, date VARCHAR (20) NOT NULL, replied TEXT NOT NULL, reply TEXT NOT NULL);", $dbp);
//Creates table named "administrators"
$result = mysql_query("CREATE TABLE IF NOT EXISTS administrators (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,username VARCHAR (12) NOT NULL,password VARCHAR (137) NOT NULL,adminemailaddress VARCHAR (60) NOT NULL,notificationoption TEXT NOT NULL);", $dbp);
//Creates an administrative account with username 'admin' and password 'admin'
$result = mysql_query("INSERT INTO administrators VALUES(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'example@example.com', 'no');", $dbp);
//Stop error from being output to the page
error_reporting(0);
//Declare functions needed for the rest of script
function gotoPage($location) {
    print <<<HERE
    <script>location.href="$location"</script>
HERE;
}
function showErr($err_num,$fname, $username, $sname, $email, $phoneno, $mes) {
    global $form;
    $err_num = base64_encode($err_num);
        $username = urlencode($username);
        $fname = urlencode($fname);
        $sname = urlencode($sname);
        $email = urlencode($email);
        $phoneno = urlencode($phoneno);
        $mes = urlencode($mes);
    print <<<HERE
    <script>location.href="$form?no=$err_num&fname=$fname&username=$username&sname=$sname&email=$email&phoneno=$phoneno&mes=$mes"</script>
HERE;
}
function admin_showErr($place, $err_num) {
    $err_num = base64_encode($err_num);
    print <<<HERE
    <script>location.href="contactFormAdmin/$place?no=$err_num"</script>
HERE;
}
function validate($fname, $username, $sname, $email, $email_con, $phoneno, $mes, $captchaentered) {
    global $dbp;
        global $captchaobject;
        global $captchatoggle;
    if (strlen($fname)<1 || strlen($sname)<1 || strlen($email)<1 || strlen($email_con)<1 || strlen($mes)<1) {
        //Execute if one or more of the fields were less than 2 characters
        showErr(0,$fname, $sname, $username, $email, $phoneno, $mes);
    } else if($email!==$email_con) {
        //Execute if confirm email did not match email
        showErr(1,$fname, $sname, $email, $phoneno, $mes);
    } else if(strstr($email, "@")==NULL||strstr($email, ".")==NULL) {
        //Execute if email does not have an @ or a period(.)
        showErr(2,$fname, $sname, $email, $phoneno, $mes);
        } else if($captchatoggle == TRUE && ($captchaentered !== $captchaobject->getCaptcha(session_id()) || $captchaentered == null || $captchaentered == "")) {
                //Execute on captcha error
                showErr(3,$fname, $sname, $email, $phoneno, $mes);
    } else {
        //Execute if all the fields validate
        $date = date("d/M/Y");
        $new = "new";
                $noreply = "";
        $result = mysql_query("INSERT INTO records VALUES (NULL, '$fname', '$sname', '$username', '$email', '$phoneno', '$mes', '$date', '$new', '$noreply')", $dbp);
        $tmp = mysql_fetch_assoc(mysql_query("SELECT * FROM administrators WHERE id=1"));
        $adminemail = $tmp['adminemailaddress']; 
                $notificationoption = $tmp['notificationoption'];
                $esubject = "New message at Contact Me Admin!";
                $emessage = "You have received a new message in your Contact Me Admin!";
        if ($notificationoption == "yes") {mail("$adminemail","$esubject","$emessage");}
        gotoPage("success_pageForwarder.php");
    }
}
function checklogin($username, $password) {
    global $dbp;
    //Check if username and password are valid
    $num_rows = mysql_num_rows(mysql_query("SELECT password FROM administrators WHERE username='$username'", $dbp));
    $tmp = mysql_fetch_assoc(mysql_query("SELECT password FROM administrators WHERE username='$username'", $dbp));
    if($num_rows==0) return false;
    else if($password!==$tmp['password'])  return false;
    else if($num_rows==1&&$password==$tmp['password']) return true;
    else return false;
}
function login($username) {
    $_SESSION['loggedin'] = "$username";
    gotoPage("contactFormAdmin/panelHome.php");
}
function logout() {
    if(isset($_SESSION['loggedin'])) {
        session_destroy();
        unset($_SESSION['loggedin']);
        gotoPage("contactFormAdmin/index.php");
    } else {
        gotoPage("javascript: history.go(-1)");
    }
}
function auth() {
    if((!isset($_SESSION['loggedin']))||(!$_SESSION['loggedin'])) gotoPage("index.php");
}
function changepw($username, $password) {
    global $dbp;
    $password = md5($password);
    $result = mysql_query("UPDATE administrators SET password='$password' WHERE username='$username';", $dbp);
    gotoPage("contactFormAdmin/panelHome.php");
}
function checkchangepw($username, $oldpw, $newpw, $newpw_con) {
    global $dbp;
    $oldpw = md5($oldpw);
    $temp = mysql_fetch_assoc(mysql_query("SELECT password FROM administrators WHERE username='$username'", $dbp));
    $realoldpw = $temp['password'];
    if($newpw!==$newpw_con) {
        admin_showErr('changePw.php', 1);
    } else if($realoldpw!==$oldpw) {
        admin_showErr('changePw.php', 3);
    } else {
        changepw($username, $newpw);
    }
}
function lastid($table) {
    $tmp = mysql_fetch_assoc(mysql_query("SELECT MAX(id) FROM $table"));
    return $tmp['MAX(id)'];
}
function firstid($table) {
    $tmp = mysql_fetch_assoc(mysql_query("SELECT MIN(id) FROM $table"));
    if($tmp['MIN(id)']==NULL) return 0;
    else return $tmp['MIN(id)'];
}
function deleteRecord($id) {
    global $dbp;
    $result = mysql_query("DELETE FROM records WHERE id=$id", $dbp);
}
?>
<select type="select" name="fname" id="colorselector" class="styled" value="<?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>" />
<select type="select" name="fname" id="colorselector" class="styled" value="<?php if($_GET['fname']) echo urldecode($_GET['fname']); ?>">
  <select name="fname" id="colorselector" class="styled">
   <option value="slct" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="slct") echo 'selected="selected"'; ?>>Please select a forum you saw me on</option>
   <option value="hf" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="hf") echo 'selected="selected"'; ?>>Hackforums (_Jony_)</option>
   <option value="sy" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="sy") echo 'selected="selected"'; ?>>Sythe (Purepks0r)</option>
   <option value="rs" <?php if($_GET['fname'] && urldecode($_GET['fname'])=="rs") echo 'selected="selected"'; ?>>R-S (Purepks0r)</option>
</select>