Bonjour.
J'ai développé un intranet en PHP qui était au départ destiné à être utilisé sur des Mac avec n'importe quel navigateur. Puis mon client m'a demandé de pouvoir l'utiliser sur iPhone. Hors, selon les navigateurs de ces différentes plateformes, le format de date généré par les champs input[type="date"] est variable. J'utilisais donc une petite routine qui test le $_SERVER['HTTP_USER_AGENT'] pour identifier le navigateur et traiter correctement le retour des dates de mes formulaires.
Maintenant, mon client veut pouvoir utiliser l'intranet sur son iPad pro et ça déglingue ma technique car son navigateur renvoie la même réponse que Safari sous OSX lorsque j'interroge le $_SERVER['HTTP_USER_AGENT'] :
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Safari/605.1.15
Seulement le format de date renvoyé ne correspond pas à celui de Safari sous OSX...
Du coup je ne sais plus comment faire pour identifier le navigateur utilisé et en déduire comment interpréter correctement les dates retournées par les formulaires. Peut-être même que je m'y prend mal depuis le début...
Quelqu'un aurait une idée pour résoudre ça ?
Merci d'avance
J'ai développé un intranet en PHP qui était au départ destiné à être utilisé sur des Mac avec n'importe quel navigateur. Puis mon client m'a demandé de pouvoir l'utiliser sur iPhone. Hors, selon les navigateurs de ces différentes plateformes, le format de date généré par les champs input[type="date"] est variable. J'utilisais donc une petite routine qui test le $_SERVER['HTTP_USER_AGENT'] pour identifier le navigateur et traiter correctement le retour des dates de mes formulaires.
function tactile()
{
return strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') OR strstr($_SERVER['HTTP_USER_AGENT'], 'iPad') OR strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') OR strstr($_SERVER['HTTP_USER_AGENT'], 'android') OR strstr($_SERVER['HTTP_USER_AGENT'], 'sony') OR strstr($_SERVER['HTTP_USER_AGENT'], 'symbian') OR strstr($_SERVER['HTTP_USER_AGENT'], 'nokia') OR strstr($_SERVER['HTTP_USER_AGENT'], 'samsung') OR strstr($_SERVER['HTTP_USER_AGENT'], 'mobile') OR strstr($_SERVER['HTTP_USER_AGENT'], 'windows');
}
Maintenant, mon client veut pouvoir utiliser l'intranet sur son iPad pro et ça déglingue ma technique car son navigateur renvoie la même réponse que Safari sous OSX lorsque j'interroge le $_SERVER['HTTP_USER_AGENT'] :
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Safari/605.1.15
Seulement le format de date renvoyé ne correspond pas à celui de Safari sous OSX...
Du coup je ne sais plus comment faire pour identifier le navigateur utilisé et en déduire comment interpréter correctement les dates retournées par les formulaires. Peut-être même que je m'y prend mal depuis le début...
Quelqu'un aurait une idée pour résoudre ça ?
Merci d'avance