実現したいこと
以下のようなコードが2つあります。
送ったら、SESSIONの中身と「postできましたよ」がconnect.phpのページで表示したい
送る側
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <title>POST Request on Button Click</title> 5 </head> 6 <body> 7 <button id="postButton">Post it</button> 8 9 <script> 10 document.getElementById("postButton").addEventListener("click", function() { 11 const myHeaders = new Headers(); 12 // myHeaders.append("Cookie", "PHPSESSID=itjgsbmsjf5sk87oh25rijhsn6"); 13 14 const formdata = new FormData(); 15 formdata.append("user_nane", "dummy"); 16 formdata.append("compay_code", "Z100"); 17 formdata.append("employe_code", "7878787888"); 18 formdata.append("user_type", "0"); 19 20 const requestOptions = { 21 method: "POST", 22 headers: myHeaders, 23 body: formdata, 24 redirect: "follow" 25 }; 26 27 fetch("http://*.*.*.*/conect.php", requestOptions) 28 .then((response) => response.text()) 29 .then((result) => console.log(result)) 30 .catch((error) => console.error(error)); 31 }); 32 </script> 33 </body> 34</html> 35
遷移先のコード(connect.php)
php
1<?php 2header("Access-Control-Allow-Origin: *"); 3header("Access-Control-Allow-Headers: Content-Type, Authorization"); 4 5$method = $_SERVER['REQUEST_METHOD']; 6session_start(); 7if ($method == "POST") { 8$_SESSION['usr_name'] = $_POST['user_name']; 9$_SESSION['company_code'] = $_POST['company_code']; 10$_SESSION['employe_code'] = $_POST['employee_code']; 11$_SESSION['user_type'] = $_POST['user_type']; 12 13// header('Location: conect.php'); 14// exit; 15} 16 17echo '<pre>'; 18var_dump($_SESSION); 19echo '</pre>'; 20 21echo "postできましたよ"; 22exit;
発生している問題・分からないこと
connect.phpに遷移(表示)はできず、送る側にレスポンスとして表示したい内容が返ってきてしまう
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
成功して
.then((result) => console.log(result))に以下のコードを追記してもSESSIONの中身はない。
window.location.href = 'http://localhost/connect.php';
補足
まずは同ホストないですが
最終的には別ホストで実現したい
回答2件
あなたの回答
tips
プレビュー