2015-08-18 3 views
0

Как передать переменные с одной страницы на другую в 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;, но это не сработало

ответ

0

Вы можете просто передать этот параметр в URL. Что-то вроде:

wp_redirect($final_url . "?Funnelid=" . $wpdb->insert_id); 

Или хранить переменную в сеансе или сохранять файлы cookie.

+0

Есть ли разница между сеансом и куки? Я знаю, что файлы cookie сохраняются на компьютере пользователя, но сеансы на сервере. Как вы думаете, что лучше решать для сохранения последнего вставленного идентификатора? – AlexIL

+0

Это зависит от ситуации и данных. Но да, если вы сохраняете данные в сеансе - они будут храниться на стороне сервера и безопаснее. –

+0

Я пытаюсь использовать после формы $ _SESSION ['lastFunnelid'] = $ wpdb-> insert_id; И на перенаправленной странице используйте echo $ _SESSION ['lastFunnelid']; но он не работает ( – AlexIL

Смежные вопросы