Как передать переменные с одной страницы на другую в Wordpress?Wordpress, как перенаправить с одной страницы формы на другую?
Я сейчас пытаюсь создать форму на одной странице, а если пользователь нажмет кнопку [NEXT>], форма представляет, и перенаправить wp_redirect($final_url); exit;
пользователя на другую страницу с постоянной формой.
Я использую метод POST для формы.
<form action="<?= $_SERVER['REQUEST_URI'] ?>" method="post" id="multiForm" >
<label for="client">Klients: *</label><input id="client" type="text" name="client" placeholder="Reg.nr | Pk.kods" pattern="[0-9]{10,12}" title="Jābut vismāz 10 cipariem!" required="required" maxlength="12" /></br>
<label for="selector1">Darījuma vadītājs: *</label>
<select id="selector1" name="darvad" required >
<option value="">-Dar. vadītājs-</option>
<?php
$sql = "SELECT Vards_Uzvards, Tables_ID FROM users";
$results = $wpdb->get_results($sql); // return an object, not ARRAY_N
if ($results) {
foreach ($results as $row) {
echo "<option value = '".$row->Tables_ID."'>".$row->Vards_Uzvards."</option>";
}}
echo "</select></br>";
?>
<label for="owcafind"><a href="<?php echo site_url('/sample-page/owca/'); ?>" target="_blank">Meklēt OWCA kodu:</a> *</label><input id="owcafind" type="text" name="owca" placeholder="OWCA Kods (8)" pattern="[0-9]{5,8}" title="Jābut vismāz 5 cipariem!" maxlength="8" /></br>
<label for="ldrive">Mape L diskā:</label><input id="ldrive" type="text" name="ldrive" placeholder="Mape L diskā" value="" /></br>
<label for="sanemt">Saņemšanas datums:</label><input id="sanemt" type="date" name="sanemt" placeholder="Saņemšanas datums" value="" required /></br>
</fieldset>
<label for="comment">Komentārs:</label><textarea id="comment" name="comment"></textarea></br>
<input type="submit" value="NEXT>" />
</form>
И PHP код на той же странице:
<!-- START PHP POST -->
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//<< Get variables from form in tsales_funnel
$darvad = esc_sql($_POST['darvad']);
$starp = esc_sql(left($_POST['owca'], 5));
$owc = esc_sql($_POST['owca']);
$ldrive = esc_sql($_POST['ldrive']);
$currentuser = wp_get_current_user()->user_login;
$sanemt = esc_sql($_POST['sanemt']);
// /Get variables >>
//<< SQL STATMENT tsales_funnel
$sql_fun = "INSERT INTO tsales_funnel (Darijuma_Vaditajs, Sanems_date, Starpnieks, OWCA, Link_L, user, adddate)
VALUES ('".$darvad."','".$sanemt."','".$starp."','".$owc."','".$ldrive."','".$currentuser."',now())
";
// SQL STATMENT tsales_funnel >>
// Insert values to tsales_funnel
$wpdb->query($sql_fun);
//------------ Add to GLOBAL variable just inserted ID--------------------
$GLOBAL['Funnelid'] = $wpdb->insert_id;
$final_url = site_url('/add-product');
wp_redirect($final_url); exit;
}
?>
Я пытаюсь использовать $GLOBAL['Funnelid'] = $wpdb->insert_id;
, но это не сработало
Есть ли разница между сеансом и куки? Я знаю, что файлы cookie сохраняются на компьютере пользователя, но сеансы на сервере. Как вы думаете, что лучше решать для сохранения последнего вставленного идентификатора? – AlexIL
Это зависит от ситуации и данных. Но да, если вы сохраняете данные в сеансе - они будут храниться на стороне сервера и безопаснее. –
Я пытаюсь использовать после формы $ _SESSION ['lastFunnelid'] = $ wpdb-> insert_id; И на перенаправленной странице используйте echo $ _SESSION ['lastFunnelid']; но он не работает ( – AlexIL