si ton explode() fonctionne correctement, il te retourne un tableau de valeurs $exp[0], $exp[1], …
et c’est à l’une de ces valeurs que tu vas appliquer ton substring, pas au tableau qui la contient.
EDIT : Problème résolue, merci gcc, le problème comme tu as dis qu’il fait appliquer substr sur l’une des valeurs pas au tableau, voici le beau code pour ceux qui ont eu le meme problème :
<?php
$code1 = "12133639";
$datas = "";
$idp = 31146;
$idd = 50758;
$ident=$idp.";".@$ids.";".$idd;
$codes=$code1;
$get_c = @file("http://script.starpass.fr/check_php.php?ident=$ident&codes=$codes&DATAS=$datas");
$exp = explode("|",$get_c[0]);
[b][u] * // MODIFICATION N°1[/u][/b]
$var = print_r ($exp);
echo '<br><br><br>';
[b][u] * // LES AUTRES MODIFICATIONS (ON REMPLACE $exp PAR $var)[/u][/b]
$var = substr($var, 16, 18);
// Récupération de la position du dernier espace (afin déviter de tronquer un mot)
$position_espace = strrpos($var, "o");
$var = substr($var, 0, $position_espace);
echo $var;
if($var == "OUI"){
echo "code incorrecte";
}
else {
echo "code correcte";
}
?>