par
jdelorme » 02 janv. 2011, 16:54
Bonjour à tous, et bonne année!
je suis sur un problème depuis ce matin auquel je ne trouve pas de solution. Pourtant, cela paraît très simple, mais bon
Voilà, j'extraie d'un flux XML constant, un des champs (<operation>) que je mets dans la variable $operationHipay . En l'affichant par echo, la valeur de cette variable est "capture", normal.
Le problème est que si je fais une condition, il semblerait que non, cette variable ne contient pas la chaîne "capture"! Voir code ci-dessous. quelqu'un aurait-il la gentillesse de m'aider? Je continue à chercher de mon côté. Si je trouve quelque chose, je vous tiendrai au courant.
Merci beaucoup.
Code : Tout sélectionner
<?php
$xml_status = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>0a691fe797cce497d9015682c44630e1</md5content><result><operation>capture</operation><status>ok</status><date>2011-01-01</date><time>21:34:29 Europe/Paris+0100</time><transid>4D1F8F7E02261</transid><origAmount>19.69</origAmount><origCurrency>EUR</origCurrency><idForMerchant></idForMerchant><emailClient>[email protected]</emailClient><merchantDatas><_aKey_key1>110102-110316-4047</_aKey_key1><_aKey_key2>value 2</_aKey_key2><_aKey_key3>value 3</_aKey_key3></merchantDatas><refProduct0>Awatronic</refProduct0></result></mapi>';
//Extraction operation
$longueur_xml = strlen($xml_status);
$position_start = strpos($xml_status, '<operation>');
$position_stop = strpos($xml_status, '</operation>');
$operationHipay = substr($xml_status, $position_start, ($position_stop - $position_start));
echo $operationHipay . '<br>';
if($operationHipay == 'capture')
{
echo 'ok';
}
else
{
echo 'nok';
}
?>
Bonjour à tous, et bonne année!
je suis sur un problème depuis ce matin auquel je ne trouve pas de solution. Pourtant, cela paraît très simple, mais bon :(
Voilà, j'extraie d'un flux XML constant, un des champs (<operation>) que je mets dans la variable $operationHipay . En l'affichant par echo, la valeur de cette variable est "capture", normal.
Le problème est que si je fais une condition, il semblerait que non, cette variable ne contient pas la chaîne "capture"! Voir code ci-dessous. quelqu'un aurait-il la gentillesse de m'aider? Je continue à chercher de mon côté. Si je trouve quelque chose, je vous tiendrai au courant.
Merci beaucoup.
[code]
<?php
$xml_status = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>0a691fe797cce497d9015682c44630e1</md5content><result><operation>capture</operation><status>ok</status><date>2011-01-01</date><time>21:34:29 Europe/Paris+0100</time><transid>4D1F8F7E02261</transid><origAmount>19.69</origAmount><origCurrency>EUR</origCurrency><idForMerchant></idForMerchant><emailClient>
[email protected]</emailClient><merchantDatas><_aKey_key1>110102-110316-4047</_aKey_key1><_aKey_key2>value 2</_aKey_key2><_aKey_key3>value 3</_aKey_key3></merchantDatas><refProduct0>Awatronic</refProduct0></result></mapi>';
//Extraction operation
$longueur_xml = strlen($xml_status);
$position_start = strpos($xml_status, '<operation>');
$position_stop = strpos($xml_status, '</operation>');
$operationHipay = substr($xml_status, $position_start, ($position_stop - $position_start));
echo $operationHipay . '<br>';
if($operationHipay == 'capture')
{
echo 'ok';
}
else
{
echo 'nok';
}
?>
[/code]