2013-07-10 4 views
0

그래서 사용자가 입력하는 텍스트를 내 양식이 보내지 않는 이유에 대해 찾을 수 없습니다. 그것만이 webformmailer.php를 사용하여 빈 필드를 제출하고 godaddy 사이트에서도 도움을 얻을 수 없습니다. 이름과 이메일 필드에 동일한 ID를 사용하고 있음을 알고 있습니다. 문제가 있다면 변경 하겠지만 생각하지는 않습니다. 내 코드를 heres.webformmailer.php 사용자 텍스트 항목을 보내지 않습니다.

 <form id="contact-form" action="/webformmailer.php" method="POST" > 

      <textarea id="textarea" placeholder="Message Here"></textarea> 
      <input type="text" id="username" name="Firstname" placeholder="Full Name" /> 
      <input type="text" id="username" name="email" placeholder="Email" /> 
      <input type="submit" name ="submit" value="Submit" /> 

     </form> 

파일은 godaddy.com에서 생성되었지만 코드를 heres합니다. 나 또한 잘 작동하는 것 같은 메시지에 대한 텍스트 영역이없는 간단한 양식이 있습니다.

<?php 

if (!isset($_SERVER['SPI'])) { 
    die(); 
} 

if (!isset($_SERVER['DOCUMENT_ROOT'])) { 
    echo("CRITICAL: we seem to be running outside of the norm.\n"); 
    header("Location: http://".$_SERVER["HTTP_HOST"]."/"); 
    die("CRITICAL: Document root unavailable.\n"); 
} 

$request_method = $_SERVER["REQUEST_METHOD"]; 
if($request_method == "GET") { 
    $query_vars = $_GET; 
} 
elseif ($request_method == "POST") { 
    $query_vars = $_POST; 
} 

reset($query_vars); 
function customsort($a,$b) { 
    // $a is array for form vars, $b is comma seperated case sensitive field order 
    // this is case sensitive -- good idea to hrc that. 
    $data = array(); 
    if (strstr($b,',') == FALSE) { 
      $b = $b.","; 
    } 
    $ordering = split(',',$b); 
    foreach ($ordering as $orderitem) { 
      if (($orderitem != null) && ($orderitem != "")) { 
        if (isset($a[$orderitem])) { 
          $data[$orderitem] = $a[$orderitem]; 
        } 
      } 
    } 
    foreach ($a as $key=>$val) { 
      $data[$key] = $a[$key]; 
    } 
    return $data; 
} 

    function xmlentities($string) { 
    return str_replace (array('&', '"', "'", '<', '>'), array('&amp;', '&quot;',     '&apos;', '&lt;', '&gt;'), $string); 
    } 

    $t = date("U"); 

    $formhomedir = preg_replace('/.*\/home\/content/','',$_SERVER['DOCUMENT_ROOT']); 
    $formhomedir = explode('/',$formhomedir); 
    if (count($formhomedir) <= 4) { 
    $formhome="/home/content/".$formhomedir[1]."/".$formhomedir[2]."/data/"; 
    } 
    else { 
      $formhome="/home/content/".$formhomedir[1]."/".$formhomedir[2]."/".$formhomedir[3]."/".$form  homedir[4]."/data/"; 
} 

$file_order = ".default"; 
$file_format = ".text"; 
$file_interval = ".15m"; 
$field_order = ""; 

if (isset($query_vars['form_order'])) { 
    if ($query_vars['form_order'] != "alpha") { 
      $field_order=$query_vars['form_order']; 
      $file_order=".custom"; 
      $query_vars = customsort($query_vars,$field_order); 
    } 
    else { 
      switch ($query_vars['form_order']) { 
        case "alpha": 
          uksort($query_vars,'strnatcasecmp'); 
          $file_order=".alpha"; 
        break; 
        default: 
          $file_order=".default"; 
        break; 
      } 
    } 
    } 

if (isset($query_vars['form_format'])) { 
    switch ($query_vars['form_format']) { 
      case "csv": 
        $file_format = ".csv"; 
      break; 
      case "html": 
        $file_format = ".html"; 
      break; 
      case "xml": 
        $file_format = ".xml"; 
      break; 
      case "text": 
      case "default": 
      default: 
        $file_format = ".text"; 
      break; 
    } 
} 

if (isset($query_vars['form_delivery'])) { 
    switch ($query_vars['form_delivery']) { 
      case "hourly": 
        $file_interval = ".60m"; 
      break; 
      case "hourly_digest": 
        $file_interval = ".60mc"; 
      break; 
      case "daily": 
        $file_interval = ".24h"; 
      break; 
      case "daily_digest": 
        $file_interval = ".24hc"; 
      break; 
      case "digest": 
        $file_interval = ".15mc"; 
      break; 
      case "default": 
      default: 
        $file_interval = ".15m"; 
      break; 
    } 
} 

$file = $formhome."form_".$t.$file_order.$file_format.$file_interval; 
$fp = fopen($file,"w"); 

reset($query_vars); 
switch ($file_format) { 
    case ".csv": 
      $csvkeys = ""; 
      $csvvals= ""; 
      $firsttime = ""; 
      while (list ($key, $val) = each ($query_vars)) { 
        if (($key == "form_order") || 
          ($key == "form_format") || 
          ($key == "form_delivery") || 
          ($key == "redirect")) { 
        } 
        else { 
          if ($csvkeys != "") { 
            $firsttime=","; 
          } 
          $tmpkey=escapeshellcmd($key); 
          $csvkeys = $csvkeys.$firsttime."'".$tmpkey."'"; 
          $tmpval=escapeshellcmd($val); 
          $csvvals = $csvvals.$firsttime."'".$tmpval."'"; 
        } 
      } 
      fputs($fp,"$csvkeys\n"); 
      fputs($fp,"$csvvals\n"); 
    break; 
    case ".html": 
      fputs($fp,"<table border=\"1\" cellspacing=\"1\" cellpadding=\"2\">\n"); 
    break; 
    case ".xml": 
      fputs($fp,"<form>\n"); 
    break; 
} 

    reset($query_vars); 
    while (list ($key, $val) = each ($query_vars)) { 
    if ($key == "redirect") { 
      $landing_page = $val; 
    } 
    if (($key == "form_order") || 
      ($key == "form_format") || 
      ($key == "form_delivery") || 
      ($key == "redirect")) { 

    } 
    else { 
      switch ($file_format) { 
        case ".html": 
          fputs($fp,"\t<tr>\n"); 
          fputs($fp,"\t\t<td><b>$key</b></td>\n"); 
          fputs($fp,"\t\t<td>$val</td>\n"); 
          fputs($fp,"\t</tr>\n"); 

        break; 
        case ".csv": 
          // content is already output 
        break; 
        case ".xml": 
         fputs($fp,"\t<field>\n"); 
         fputs($fp,"\t\t<fieldname>".xmlentities($key)." 
    </fieldname>\n"); 
         fputs($fp,"\t\t<fieldvalue>".xmlentities($val) 
    </fieldvalue>\n"); 
          fputs($fp,"\t</field>\n"); 
        break; 
        case ".text": 
        default: 
          fputs($fp,$key.": ".$val."\n"); 
        break; 
      } 
    } 
} 

switch ($file_format) { 
    case ".html": 
      fputs($fp,"</table>\n"); 
    break; 
    case ".xml": 
      fputs($fp,"</form>\n"); 
    break; 
} 


fclose($fp); 

if ($landing_page != "") { 
    header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page"); 
} 
else { 
    header("Location: http://".$_SERVER["HTTP_HOST"]."/"); 
} 


?> 
+0

PHP가 필요합니다. –

+0

양식 처리에 사용하는 PHP 코드를 표시 할 수 있습니까? – Nic

답변

1
  • 귀하의 <textarea>이 성공적으로 제어 할 수 있도록, 이름이 없습니다.
  • 당신은
  • 또한 HTML의 (a validator 사용) 유효

$_POST['email'] 동감 (그 문제 또는 $query_vars['Firstname]) $_POST['Firstname']에 액세스하지 마십시오 당신은 abusing the placeholder attribute as a label이다.

+0

답변과 장소 소유자에 대한 정보를 보내 주셔서 감사합니다! –