Je veux préfixer un "0" devant un _POST $Cette association de chaînes de php me rend fou!
$currency = $_POST['Currency']; // lets say 900
$currency = "0".$currency;
echo $currency;
Il aurait dû retourner 0900 mais il retourne 900.
Toutes les idées?
EDIT
Ceci est la fonction complète
function validate(){
$ref = $this->input->post('Ref');
$shop = $this->input->post('Shop');
$amount = $this->input->post('Amount')*1000;
//$currency = $this->input->post('Currency');
//$currency = $_POST['Currency']; // lets say 900
//$currency = "0".$currency;
$currency = str_pad($_POST['Currency'],4,'0',STR_PAD_LEFT);
$query = $this->db->query("SELECT * FROM shop_validation WHERE merchant_ref = '$ref' ");
if($query->num_rows() > 0) {
$row = $query->row_array();
$posts = "";
foreach ($_POST as $name => $value) {
$posts .= $name."/".$value;
}
$this->db->query("INSERT INTO transactions (shop,amount,currency,posts) VALUES ('$shop','$amount','$currency','$posts')");
if($row['merchant_ref'] != $ref)
{
echo "[NOTOK]";
return;
}
if($row['merchant_id'] != $shop)
{
echo "[NOTOK]";
return;
}
if(trim($row['amount']) != $amount)
{
echo "[NOTOK]";
return;
}
if($row['currency_code'] != $currency)
{
echo "[NOTOK]";
return;
}
echo "[OK]";
}
}
EDIT
Ce script exécuté sur le cadre Codeigniter
Ici, cela fait écho "0900" comme prévu. Avez-vous peut-être oublié de sauvegarder le fichier source avant de le recharger dans le navigateur, ou quelque chose d'aussi stupide? ;) – cdhowie
Impossible de dupliquer. –
Ce code imprime "0900" pour moi. Est-ce que vous testez 'echo $ var' ou utilisez la fonction $ var ailleurs? – hudolejev