jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 16 sept. 2017 à 22:47
Bonjour,
Je n'ai pas testé si ça fonctionnait... mais je peux déjà faire quelques remarques concernant l'écriture du code.
1 - Stocker les variables POST dans des variables POST .. ça n'a aucun sens
2 - Faire des fonctions au lieu de répéter inutilement le même code à plusieurs reprises
3 - Attention à l'utilisation des apostrophes/guillemets. Je pense que tu as une erreur sur ta ligne 100
Bref...
ton code légèrement corrigé ressemblerai à ça :
<?php
error_reporting(0);
// API FREE USER :
$api_user = "XXXXXXXXXX";
// API FREE PASS :
$api_pass = "XXXXXXXXXX";
// Fonction pour "nettoyer" les string
function cleanVar($var,$mbstar=0,$mbend=22){
return trim(strip_tags(mb_strimwidth(stripslashes($var))));
}
function error_msg($msgerrortext){
$error_message = '<!DOCTYPE html>
<html><head><meta name="viewport" content="width=device-width, initial-scale=1"><title>Message SMS</title><meta http-equiv="content-type" content="text/html; charset=utf-8"><style type="text/css">
body {
background-color: #FFFFFF;
margin: 8px 8px 8px 8px;
text-align: left;
color: #000000;
font-family: Arial;
font-size: 14px;
}
a:link {
color: #FF0000;
font-size: 14px;
text-decoration: underline;
}
a:visited {
color: #FF0000;
font-size: 14px;
text-decoration: underline;
}
a:active {
color: #FF0000;
font-size: 14px;
text-decoration: underline;
}
a:hover {
color: #000000;
font-size: 14px;
text-decoration: underline;
}
</style>
</head>
<body>'.$msgerrortext.'<br><a href="javascript:history.go(-1)" rel="nofollow noopener noreferrer" target="_blank">Retour</a><br><br></body>
</html>';
echo $error_message;
exit();
}
//récupération PROPRE des variables AVANT de les utiliser
// pour cela je vais utiliser !empty + l'écriture ternaire :
$nom = !empty($_POST['nom']) ? cleanVar($_POST['nom'],0,22) : NULL;
$message = !empty($_POST['message']) ? cleanVar($_POST['message'],0,144) : NULL;
$ip = "[".$_SERVER['REMOTE_ADDR']."]";
if(!$nom){
error_msg("Il n'y a pas de nom !");
}
if(!$message){
error_msg("Il n'y a pas de message !");
}
$sms = ''.$nom.' '.$ip.' '.$message.'';
$sms_aff = rawurlencode($sms);
$sms_url = 'https://smsapi.free-mobile.fr/sendmsg?user='.$api_user.'&pass='.$api_pass.'&msg=$sms_aff';
file_get_contents($sms_url);
header("Location: recu_sms.html");
exit;
?>
Quoi qu'il en soit... tu ne respectes pas la charte du site concernant la dépose de sources....
1 - Le code doit être commenté et/ou au moins expliqué
2 - Il ne doit pas utiliser juste quelques fonctions de "base" du langage
3 - Tu dois t'assurer qu'il fonctionne
4 - Si il ne fonctionne pas.. tu dois expliquer pourquoi et ce que tu comptes faire.
16 sept. 2017 à 22:47
Je n'ai pas testé si ça fonctionnait... mais je peux déjà faire quelques remarques concernant l'écriture du code.
1 - Stocker les variables POST dans des variables POST .. ça n'a aucun sens
2 - Faire des fonctions au lieu de répéter inutilement le même code à plusieurs reprises
3 - Attention à l'utilisation des apostrophes/guillemets. Je pense que tu as une erreur sur ta ligne 100
Bref...
ton code légèrement corrigé ressemblerai à ça :
Quoi qu'il en soit... tu ne respectes pas la charte du site concernant la dépose de sources....
1 - Le code doit être commenté et/ou au moins expliqué
2 - Il ne doit pas utiliser juste quelques fonctions de "base" du langage
3 - Tu dois t'assurer qu'il fonctionne
4 - Si il ne fonctionne pas.. tu dois expliquer pourquoi et ce que tu comptes faire.
Pour toutes ces raisons.... je supprime ton code.