Как преобразовать текст, введенный в форму, в Заголовок, используя PHP перед отправкой в ​​MySQL? - PullRequest
0 голосов
/ 10 августа 2011

Я использую приведенный ниже PHP для отправки данных из HTML-формы в MySQL и на адрес электронной почты. Я хотел бы, чтобы все данные, введенные во все поля, кроме поля электронной почты, были преобразованы в заголовок (правильный). Мне интересно, есть ли простой способ сделать это. В поиске этого сайта я нашел этот код:

function toTitleCase(str)
{
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

но я не уверен, что это то, что мне нужно, и если это то, что мне нужно, как подключить его к существующему коду. Может ли кто-нибудь помочь с этим?

Спасибо

Ник

<?php

$emailFrom = "****";
$emailTo = "****";
$subject = "****";

$body = "****" . "\n\n" . "Waged/Organisation Rate:" . "\n\n";
$row_count = count($_POST['name']);
$row_count2 = count($_POST['name2']);

$values = array();

 for($i = 0; $i < $row_count; $i++) {
     // variable sanitation...
     $name = trim(stripslashes($_POST['name'][$i]));
     $email = trim(stripslashes($_POST['email'][$i]));
     $organisation = trim(stripslashes($_POST['organisation'][$i]));
     $position = trim(stripslashes($_POST['position'][$i]));

     // this assumes name, email, and telephone are required & present in each element
     // otherwise you will have spurious line breaks. 
     $body .= "Name: " . $name . "    Email: " . $email . "  Organisation: " . $organisation . "   Position: " . $position . "\n\n";

     //prepare the values for MySQL
     $values[] = '(\'' . $name . '\',\'' . $email . '\',\'' . $organisation . '\',\'' . $position . '\')';

}

mysql_select_db($database, $connection);

$query1 = "INSERT INTO conference (Name, Email, Organisation, Position) VALUES "  . implode(',', $values);

$result1 = mysql_query($query1);
if (!$result1) {
  die('Invalid query: ' . mysql_error());
}


 $body .= "Unwaged Rate:" . "\n\n";

 $values = array();

 for($i = 0; $i < $row_count; $i++) {
     // variable sanitation...
     $name = trim(stripslashes($_POST['name2'][$i]));
     $email = trim(stripslashes($_POST['email2'][$i]));

     // this assumes name, email, and telephone are required & present in each element
     // otherwise you will have spurious line breaks. 
     $body .= "Name: " . $name . "    Email: " . $email . "\n\n";

     //prepare the values for MySQL
     $values2[] = '(\'' . $name . '\',\'' . $email . '\')';
}
$query2 = "INSERT INTO conference (Name, Email) VALUES " . implode(',', $values2);

$result2 = mysql_query($query2);
if (!$result2) {
  die('Invalid query: ' . mysql_error());
}

// send email 
$success = mail($emailTo, $subject, $body, "From: <$emailFrom>");
?>

Ответы [ 2 ]

3 голосов
/ 10 августа 2011

Используйте функцию ucwords().

1 голос
/ 10 августа 2011

Используйте функцию PHP ucwords.

http://php.net/manual/en/function.ucwords.php

Пример:

$subject = "this is a subject";
$subject = ucwords($subject); //$subject is now "This Is A Subject"
...