お世話になっております。
題名の通り、サイトAで会員の登録をした際、サイトBにも共通項を登録したいです。
CURLのセッションを引き継ぐ方法を参考にして
・サイトAで必要事項を入力→submit
・サイトBに自動でログインし、サイトBの登録フォームを表示
までは以下のコードで実現できました。
php
1<?php 2 if($_POST){ 3 4 $member = array('name'=>$_POST['name'], 5 'mail'=>$_POST['mail']); 6 7 8 //ログイン処理 9 //サイトAのログイン時にサイトB用のログイン情報は取得しておくものとする 10 $params = array('login_mail' => "test@example.com" , 11 'login_passwd' => "password" , 12 'LOGIN' => "ログイン"); 13 14 $fp = fopen("tmp", "w"); 15 $ch = curl_init("http://www.example.com/login.php"); 16 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 17 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 18 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 19 curl_setopt($ch, CURLOPT_POST, TRUE); 20 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 21 curl_setopt($ch, CURLOPT_WRITEHEADER, $fp); $ 22 $output = curl_exec($ch); 23 fclose($fp); curl_close($ch); 24 print "CURL OUTPUT:\n{$output}\n"; 25 26 //登録ページの表示 27 $ch = curl_init("http://example.com/register.php"); 28 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 29 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 30 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 31 curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp"); 32 curl_setopt($ch, CURLOPT_POST, TRUE); 33 $output = curl_exec($ch); 34 print_r(curl_getinfo($ch)); 35 curl_close($ch); 36 print "CURL OUTPUT:\n{$output}\n"; 37 38}else{ 39echo <<< EOH 40<!DOCTYPE html> 41<html lang="ja"> 42<head> 43 <meta charset="UTF-8"> 44 <title>Document</title> 45</head> 46<body> 47 <form action="" method="post"> 48 <div>名前<input type="text" name="name"></div> 49 <div>メールアドレス<input type="text" name="mail"></div> 50 <input type="submit" name="send" value="送信"> 51 </form> 52</body> 53</html> 54EOH; 55} 56
ですが、実際に行いたいのはサイトBの登録ページの表示ではなく、そのまま登録まで終了させ、サイトAの登録完了ページを表示させることです。いくつかサイトを見ていろいろ試行錯誤してみましたが実現できませんでした。根本的な理解が不足しているためだとは思いますが、ご教授よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。