Как мне это сделать?текстовый документ, прежде чем форма представляет
Итак, что я пытаюсь сделать, прежде чем отправить форму в Mailchimp с чьим-то письмом, я хочу написать это письмо А.txt-файл. Mailchimp использует "get"для формы, и "действие" выполняется на mailchimp не на той же странице, что и форма. Вот мой код для формы.
<form id="subscribe-form1" action="https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff"
method="get" class="form-inline">
<div class="input-group">
<input type="email" class="form-control" placeholder="Email address" name="EMAIL">
<div class="input-group-btn">
<button class="btn btn-grn" type="submit button" data-toggle="modal" data-target="#myModal">Sign Up</button>
</div>
</div>
<div style="visibility:collapse;" id="subscribe-result1"> </div>
<div class="checkbox">
<label>
<input type="checkbox" id="mce-group[6917]-6917-0" name="group[6917][1024]" value="1024" checked="checked" style="">
I agree to recieve FREE newsletter from Personal Trainer Food </label>
</div>
<?php //this only works if I change get->post and action ="" but then it does not submit to mail chimp.
//Get the email from POST
$email = $_REQUEST['EMAIL'];
$file = fopen("document.txt","a+");
fwrite($file,$email . "n");
//redirect
?>
</form>
1 ответ:
Вы можете попробовать добавить значения вручную к URL, а затем перенаправить на него:
Обратите внимание, что исходный URL-адрес "chimp" содержит амперсанд▼ <form id="subscribe-form1" action="" method="get" class="form-inline"> <div class="input-group"> <input type="email" class="form-control" placeholder="Email address" name="EMAIL"> <div class="input-group-btn"> <button class="btn btn-grn" type="submit button" data-toggle="modal" data-target="#myModal">Sign Up</button> </div> </div> <div style="visibility:collapse;" id="subscribe-result1"> </div> <div class="checkbox"> <label> <input type="checkbox" id="mce-group[6917]-6917-0" name="group[6917][1024]" value="1024" checked="checked" style=""> I agree to recieve FREE newsletter from Personal Trainer Food </label> </div> <?php //this only works if I change get->post and action ="" but then it does not submit to mail chimp. //Get the email from GET ◄■■■ $email = $_REQUEST['EMAIL']; $file = fopen("document.txt","a+"); fwrite($file,$email . "\n"); URL PARAMETERS START fclose($file); // ◄■■■ ▼ header("Location: https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email"); // ◄■■■ exit; // ◄■■■ ?> </form>
$amp;
в качестве HTML-символа. Я думаю, что мы можем избавиться от него и использовать "естественный" амперсанд&
.В вашей форме есть флажок, мы можем добавить его тоже:
fclose($file); // ◄■■■ if ( isset( $_GET["group[6917][1024]"] ) ) // IF CHECKBOX IS CHECKED... $chk = "&group[6917][1024]=1024"; URL PARAMETERS START else $chk = ""; ▼ header("Location: https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email$chk"); // ◄■■■ exit; // ◄■■■
Переменные
$chk
находятся в конце URL-адреса. Пример результирующего URL-адреса:Редактировать:
Добавил
if
в код PHP:<?php if ( isset( $_GET["EMAIL"] ) ) { $email = $_REQUEST['EMAIL']; if ( isset( $_GET["group"] ) ) $chk = "&group[6917][1024]=1024"; else $chk = ""; header("Location: https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email$chk"); exit; } ?>
Править #2 :
<?php if ( isset( $_GET["EMAIL"] ) ) { $email = $_REQUEST['EMAIL']; // SAVE EMAIL. $file = fopen("document.txt","a"); fwrite($file,$email . "\n"); fclose($file); if ( isset( $_GET["group"] ) ) $chk = "&group[6917][1024]=1024"; else $chk = ""; header("Location: https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email$chk"); exit; } ?>
Править #3
Перенаправление с помощью формы и автоматическая отправка ее с помощью javascript:
<?php if ( isset( $_GET["EMAIL"] ) ) { $email = $_REQUEST['EMAIL']; // SAVE EMAIL. $file = fopen("document.txt","a"); fwrite($file,$email . "\n"); fclose($file); if ( isset( $_GET["group"] ) ) $chk = "&group[6917][1024]=1024"; else $chk = ""; echo "<form method='get'" . " id='frm'" . " target='_blank'" . " action='https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email$chk'>" . "</form>" . "<script type='text/javascript'>" . "document.getElementById('frm').submit();" . "</script>"; exit; } ?>
Править #4 :
Это edit #2, но сохранение URL в текстовом файле:
<?php if ( isset( $_GET["EMAIL"] ) ) { $email = $_REQUEST['EMAIL']; if ( isset( $_GET["group"] ) ) $chk = "&group[6917][1024]=1024"; else $chk = ""; $url = "https://personaltrainer.us6.list-manage.com/subscribe/post-json?u=4aeb5b710adef51ab754ll02f&id=76420114ff&EMAIL=$email$chk" // SAVE EMAIL. $file = fopen("document.txt","a"); fwrite($file,$email . "\n"); fwrite($file,$url . "\n"); fclose($file); header("Location: $url"); exit; } ?>