PDA

View Full Version : مشکل با ارسال داده ها با curl



redhat2
جمعه 25 اسفند 1391, 09:49 صبح
سلام به دوستان ، میخواستم یه سوالی بپرسم ، اینکه من 2 تا صفحه دارم که یکی از این صفحه ها به این صورت هستش localhost/user/register و صفحه ی دیگر به این صورت localhost/user/verfiy ، صفحه ی اولی مربوطه به تابع register در پایین هست و صفحه ی دومی نیز مربطو به verfiy هستش :

userController :



<?php

namespace loplop\controllers;

use loplop\libs\bcontroller;
use loplop\libs\bview;
use loplop\libs\form;
use \HttpRequest as HR;

class UserController extends bcontroller {

private $_bview;
private $_getControllerName;
private $_form;

public function __construct() {

$this->_bview = new bview;
$this->_getControllerName = $this->getControllerName(__CLASS__);
$this->_form = new form();
}

public function Index() {

echo $this->_getControllerName;
}

public function Register() {
$this->_bview->assign($this->_getControllerName, 'register');
if (isset($_POST['username'])) {
$url = "http://localhost/user/verfiy/";

$post_data = array(
"username" => $_POST['username']
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// we are doing a POST request
curl_setopt($ch, CURLOPT_POST, 1);
// adding the post variables to the request
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

header('location:/user/verfiy');
}
}

public function Verfiy() {
echo $output;
}

}

?>



ولی وقتی به صفحه verfiy فرستاده میشه ، این ارور را میده :

redhat2
جمعه 25 اسفند 1391, 17:08 عصر
کسی نبود ؟

111qqq
جمعه 25 اسفند 1391, 18:15 عصر
خوب ارور نوشته دیگه توی خط 56 ارور داری ...... :بامزه:
خط 56 میخواد یه متغییر رو چاپ کنه ..... خوب .... اون متغییر توی اون تابع که وجود داشته که بخواد چاپش کنه ... متغییر global هم نبوده .
.
.. حالا منظورت از $output; چیه که میخوای چاپش کنی .... همون خط 47 .... $output = curl_exec($ch); ... اینه ؟؟؟؟؟ ... اگه اینو طوریه باید بعد از این خط این رو بنویسی


$this->Verfiy($output);
بعد خط 55 رو هم باید تغییر بدی به ....

public function Verfiy($output) {

redhat2
جمعه 25 اسفند 1391, 18:37 عصر
خوب ارور نوشته دیگه توی خط 56 ارور داری ...... :بامزه:
خط 56 میخواد یه متغییر رو چاپ کنه ..... خوب .... اون متغییر توی اون تابع که وجود داشته که بخواد چاپش کنه ... متغییر global هم نبوده .
.
.. حالا منظورت از $output; چیه که میخوای چاپش کنی .... همون خط 47 .... $output = curl_exec($ch); ... اینه ؟؟؟؟؟ ... اگه اینو طوریه باید بعد از این خط این رو بنویسی


$this->Verfiy($output);
بعد خط 55 رو هم باید تغییر بدی به ....

public function Verfiy($output) {


من اینکار را کردم و کد را اینطوری کردم ولی اینبار به صفحه ی verfiy که منتقل میشه ، null را چاپ میکنه :



<?php

namespace loplop\controllers;

use loplop\libs\bcontroller;
use loplop\libs\bview;
use loplop\libs\form;
use \HttpRequest as HR;

class UserController extends bcontroller {

private $_bview;
private $_getControllerName;
private $_form;

public function __construct() {

$this->_bview = new bview;
$this->_getControllerName = $this->getControllerName(__CLASS__);
$this->_form = new form();
}

public function Index() {

echo $this->_getControllerName;
}

public function Register() {
global $output;
$this->_bview->assign($this->_getControllerName, 'register');
if (isset($_POST['username'])) {
$url = "http://localhost/user/verfiy/";

$post_data = array(
"username" => $_POST['username']
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// we are doing a POST request
curl_setopt($ch, CURLOPT_POST, 1);
// adding the post variables to the request
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

$this->Verfiy($output);

header('location:' . $url);
}
}

public function Verfiy($output) {
var_dump($output);
}

}

?>

redhat2
شنبه 26 اسفند 1391, 07:33 صبح
خواهشا جواب بدید ، خیلی ضروری هست .