Problème redirection

LIMEHIT
Invité n'ayant pas de compte PHPfrance

26 juil. 2012, 20:23

Bonjour à tous
J'ai déjà essayé avec Starpass et Rentabiliweb et j'ai toujours la même erreur !

J'ai installé un système de dédicaces payant à un code.

J'ai installé le html pour afficher le script rentabiliweb

Voici les codes
<?php

Class RentabiliWeb
{
	public $is_valid;
	public $result;

	public function get_script()
	{
		global $cache;
		
		// Identifiants de votre document
		$docId      = @intval(122327);
		$siteId      = @intval(406230);

		// PHP5 avec register_long_arrays désactivé?
		if (!isset($HTTP_GET_VARS)) 
		{
			$HTTP_SESSION_VARS    = $_SESSION;
			$HTTP_SERVER_VARS     = $_SERVER;
			$HTTP_GET_VARS        = $_GET;
		}
		
		if (isset($HTTP_GET_VARS['code']))
		{
			// Construction de la requête pour vérifier le code

			$query      = 'http://payment.rentabiliweb.com/checkcode.php?';
			$query     .= 'docId=' . $docId;
			$query     .= '&siteId=' . $siteId;
			$query     .= '&code=' . $HTTP_GET_VARS['code'];
			$query     .= "&REMOTE_ADDR=" . USER_IP;
			$result     = @file($query);

			if(trim($result[0]) === "OK") 
			{
				$this->is_valid = true;
				$this->result = '<div class="success"><p align="text justify">Votre d&eacute;dicace &agrave; bien &eacute;t&eacute; envoy&eacute;. Un administrateur va v&eacute;rifier la conformit&eacute; de la d&eacute;dicace, la valider ou la supprimer.</p></div>';
				$cache->Update($this->result, 'result');
				header('Location: http://www.limehit.Fr/dedicaces.html?PayOK');
				exit;
			}	
			
			if(trim($result[0]) !== "OK") 
			{
				$this->is_valid = false;
				$this->result = '<div class="error"><p align="text center">Le code est invalide.</p></div>';
				$cache->Update($this->is_valid, 'is_valid');
				header('Location: http://www.limehit.Fr/dedicaces.html?PayError');
				exit;
			}
		}
	}
}
?>
dedicaces.php
<?php

define('TAB_ID', 9); 

require_once "global.php";
require_once INCLUDES . "class.rentabiliweb.php";

if (!LOGGED_IN || USER_RANK < 2)
{
	redirection('./');
	exit;
}

$tpl->SetParam('result', (($cache->Exists('result')) ? $cache->Get('result') : ''));
		
if (isset($_POST['msg']))
{
	$msg = filter($_POST['msg']);
	$recaptcha_resp = $_POST["recaptcha_response_field"];
	
	if (strlen($msg) < 1)
	{
		$error = "Ta d&eacute;dicace est vide !";
	}
	
	elseif (strlen($msg) > 200)
	{
		$error = "Ta d&eacute;dicace d&eacute;passe le nombre limite de caract&egrave;s.";
	}
	
	elseif (strlen($recaptcha_resp) < 1)
	{	
		$error = "Indique le code de s&eacute;curit&eacute; demand&eacute;.";
	}
	
	elseif (!$resp->is_valid)
	{
		$error = "Le code de s&eacute;curit&eacute; &eacute;tait invalide. Recommence !";
	}
	
	if (isset($error))
	{
		$errResult = '<div class="error"><p class="text center">' . $error . '</p></div>';
		
		$tpl->SetParam('result', $errResult);
	}
	
	else
	{
		$cache->Set(Array('user_id' => USER_ID, 'message' => $msg, 'user_ip' => USER_IP, 'active' => '0', 'timestamp' => time(), 'NEXT_PAGE' => true));
	}
}

define('NEXT_PAGE', ($cache->Get('NEXT_PAGE') ? true : false));
define('BOX_TITLE', (NEXT_PAGE == true) ? 'Paiement' : 'D&eacute;dicaces');
	
if (NEXT_PAGE == true || NEXT_PAGE)
{	 
	$rentabiliweb = new RentabiliWeb();
	
	if (!$cache->Exists('is_valid'))
	{
		$rentabiliweb->get_script();
	}
	
	elseif ($cache->Get('is_valid') == true)
	{
		dbquery("INSERT INTO dedicates (user_id,message,user_ip,active,timestamp) VALUES('" . $cache->Get('user_id') . "','" . $cache->Get('message') . "','" . $cache->Get('user_ip') . "','" . $cache->Get('active') . "','" . $cache->Get('timestamp') . "')");
			
		if (mysql_affected_rows() > 0)
		{
			$cache->Clear();
		}
	}
}

$tpl->Init();
$tpl->AddGeneric('head');
$tpl->AddIncludeSet('default');
$tpl->WriteIncludeFiles();
$tpl->AddGeneric('head-bottom');

$tpl->AddGeneric('generic-top');
$tpl->Write('<div id="column1">');
$tpl->AddGeneric('comp-dedicates');
$tpl->Write('</div>');

$tpl->Write('<div id="column2">');
$tpl->AddGeneric('comp-dedicates-help');
$tpl->Write('</div>');
$tpl->AddGeneric('footer');
$tpl->AddGeneric('bottom');

$tpl->SetParam('page_title', 'D&eacute;dicaces');
$tpl->SetParam('recaptcha_get_html', recaptcha_get_html($publickey));

$tpl->Output();

?>

LIMEHIT
Invité n'ayant pas de compte PHPfrance

26 juil. 2012, 20:25

Edit: Le problème c'est que je suis redirigé à chaque fois sur la page d'index

ViPHP
xTG
ViPHP | 7331 Messages

26 juil. 2012, 22:39

C'est ce code dans ce cas qui est incriminé :
if (!LOGGED_IN || USER_RANK < 2)
{
        redirection('./');
        exit;
}
C'est le seul à renvoyer vers la racine d'un dossier, et donc un index.html ou index.php.
Donc le souci ne vient pas des systèmes de paiement mais de ton système d'authentification.

LIMEHIT
Invité n'ayant pas de compte PHPfrance

26 juil. 2012, 23:04

ça ne vient pas de sa , je viens de tester ce code sur un fichier et il n'y a pas d'erreur.

ViPHP
xTG
ViPHP | 7331 Messages

27 juil. 2012, 08:06

Eh bien dans ce cas tu ne nous donnes pas le code qui bug, car dans tout ce que tu nous montres c'est le seul et unique code qui peut te ramener à un index.