Zadejte hledaný výraz...

Proč se mi nedaří do formuláře přidat další pole?

Janulinka
verified
rating uzivatele
9. 12. 2016 15:38:21
Ahoj koupila jsem si šablonu kde byl základní jednoduchý formulář tedy Jméno email telefon a předmět. Funguje v pohodě já jsem si chtěla přidat ještě nějaká políčka a tak jsem si přidala telefon, kód níže:
Jenže po odeslání formuláře mi toto políčko přijde vždy prázdné ať dělám co dělám :-( pomůže mi někdo najít chybičku?
session_cache_limiter('nocache');
header('Expires: ' . gmdate('r', 0));
header('Content-type: application/json');
require_once('php-mailer/PHPMailerAutoload.php');
// Step 1 - Enter your email address below.
$email = 'jan****@seznam.cz';
// If the e-mail is not working, change the debug option to 2 | $debug = 2;
$debug = 0;
$subject = $_POST;
$fields = array(
0 => array(
'text' => 'Name',
'val' => $_POST
),
1 => array(
'text' => 'Email address',
'val' => $_POST
),
2 => array(
'text' => 'Phone',
'val' => $_POST
),
3 => array(
'text' => 'Message',
'val' => $_POST
)
);
$message = '';
foreach($fields as $field) {
$message .= $field.": " . htmlspecialchars($field, ENT_QUOTES) . "
n";
}
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = $debug; // Debug Mode
// Step 2 (Optional) - If you don't receive the email, try to configure the parameters below:
//$mail->IsSMTP(); // Set mailer to use SMTP
//$mail->Host = 'mail.yourserver.com'; // Specify main and backup server
//$mail->SMTPAuth = true; // Enable SMTP authentication
//$mail->Username = 'user@example.com'; // SMTP username
//$mail->Password = 'secret'; // SMTP password
//$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
//$mail->Port = 587; // TCP port to connect to
$mail->AddAddress($email); // Add another recipient
//$mail->AddAddress('person2@domain.com', 'Person 2'); // Add a secondary recipient
//$mail->AddCC('person3@domain.com', 'Person 3'); // Add a "Cc" address.
//$mail->AddBCC('person4@domain.com', 'Person 4'); // Add a "Bcc" address.
$mail->SetFrom($email, $_POST);
$mail->AddReplyTo($_POST, $_POST);
$mail->IsHTML(true); // Set email format to HTML
$mail->CharSet = 'UTF-8';
$mail->Subject = $subject;
$mail->Body = $message ;
$mail->Send();
$arrResult = array ('response'=>'success');
} catch (phpmailerException $e) {
$arrResult = array ('response'=>'error','errorMessage'=>$e->errorMessage());
} catch (Exception $e) {
$arrResult = array ('response'=>'error','errorMessage'=>$e->getMessage());
}
if ($debug == 0) {
echo json_encode($arrResult);
}
9. 12. 2016 15:38:21
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242399
pepepe
verified
rating uzivatele
(2 hodnocení)
9. 12. 2016 17:28:18
a nemelo by tam byt:
$fields = array( 0 => array( 'text' => 'Jméno', 'val' => $_POST ), 1 => array( 'text' => 'Email', 'val' => $_POST ), 2 => array( 'text' => 'Zpráva', 'val' => $_POST ), 3 => array( 'text' => 'Telefon', 'val' => $_POST ) );
ta cast:
$telefon = $_POST;
je myslim zbytecna...
9. 12. 2016 17:28:18
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242398
Janulinka
verified
rating uzivatele
9. 12. 2016 17:50:02
Napsal Michal Mojzis;1345086
a nemelo by tam byt:
$fields = array( 0 => array( 'text' => 'Jméno', 'val' => $_POST ), 1 => array( 'text' => 'Email', 'val' => $_POST ), 2 => array( 'text' => 'Zpráva', 'val' => $_POST ), 3 => array( 'text' => 'Telefon', 'val' => $_POST ) );
ta cast:
$telefon = $_POST;
je myslim zbytecna...
Vyzkoušela jsem a přišlo toto :-(:
Jméno:
Telefon:
Zpráva: Jméno: Jan novák
Email: novak@centrum.cz
Zpráva: ahoj
Telefon:
9. 12. 2016 17:50:02
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242397
Naformátujte ty ukázky čitelněji, budete mít větší šanci, že vám někdo pomůže.
9. 12. 2016 18:28:12
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242396
crs
verified
rating uzivatele
(1 hodnocení)
11. 12. 2016 21:11:26
@Janulinka: (ke skriptu, který zpracovává formulář) pokud se dívám dobře, tak proměnná $name ani $telefon není nikde naplněna. Drobná výtka: názvy proměnné jsou všechny anglické, ale najednou je tam česky 'telefon' --> lepší je v jednom jazyku, aby to bylo konzistentní.
if (count($_POST)) {
$fields = array(
'name' => 'Jméno',
'email' => 'Email',
'message' => 'Zpráva',
'telefon' => 'Telefon'
);
$message = '';
foreach ($fields as $key => $value) {
if (isset($_POST)) {
$message .= "$value: " . htmlspecialchars($_POST, ENT_QUOTES) . "
n";
}
}
echo "
";
var_dump($message, $_POST);
// ...
}
11. 12. 2016 21:11:26
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242395
Janulinka
verified
rating uzivatele
12. 12. 2016 10:48:33
Napsal crs;1345569
@Janulinka: (ke skriptu, který zpracovává formulář) pokud se dívám dobře, tak proměnná $name ani $telefon není nikde naplněna. Drobná výtka: názvy proměnné jsou všechny anglické, ale najednou je tam česky 'telefon' --> lepší je v jednom jazyku, aby to bylo konzistentní.
if (count($_POST)) {
$fields = array(
'name' => 'Jméno',
'email' => 'Email',
'message' => 'Zpráva',
'telefon' => 'Telefon'
);
$message = '';
foreach ($fields as $key => $value) {
if (isset($_POST)) {
$message .= "$value: " . htmlspecialchars($_POST, ENT_QUOTES) . "
n";
}
}
echo "
";
var_dump($message, $_POST);
// ...
}
Vyzkoušela jsem i toto, ovšem pořád stejné, pole Telefon prostě zůstane nevyplněné :-(
---------- Příspěvek doplněn 12.12.2016 v 17:05 ----------
Jěště malý dodatek, pokus si formulář nahraji na testovací stránku for w3schools try editor a odkážu formulář na php skript na webu, vše běží jak má :-( Když však úplně stejný formulář vložím na web políčko telefon zůstane prozdné. A ještě detail, pokud jsou ve formuláři háčky a čárky tak se políčka také neodešlou...
---------- Příspěvek doplněn 12.12.2016 v 17:33 ----------
Pokud by to někoho zajímalo, záhada vyřešena k formuláři patří ještě view.js
a v něm chybělo políčko phone viz.:
12. 12. 2016 10:48:33
https://webtrh.cz/diskuse/proc-se-mi-nedari-do-formulare-pridat-dalsi-pole#reply1242394
Pro odpověď se přihlašte.
Přihlásit