Bonjour,

Je suis en train d'effectuer une migration de serveur chez mon hébergeur (Ikoula).
J'utilisais jusqu'à présent un formulaire de contact créé sur ce site http://www.ge-net.ch/page/rw-wfco-owb-0.html, que j'avais habillé à ma guise.
Le code en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<!doctype html>
<?php
 
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
$list['f_1']=array("Mme","M.");
if(isset($_POST['submit'])){
	$erreur="";
	// Nettoyage des entrées
	while(list($var,$val)=each($_POST)){
	if(!is_array($val)){
		$$var=strip_tags($val);
	}else{
		while(list($arvar,$arval)=each($val)){
				$$var[$arvar]=strip_tags($arval);
			}
		}
	}
	// Formatage des entrées
	$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
	$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
	$f_4=strip_tags(trim($f_4));
	$f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5)));
	$f_7=trim(eregi_replace("[^0-9+]", "", $f_7));
	$f_8=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_8)));
	$f_9=trim(eregi_replace("[^0-9\ +]", "", $f_9));
	$f_10=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_10)));
	// Verification des champs
	if($f_1==""){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Civilité &raquo; n'a pas été défini.</span>";
		$errf_1=1;
	}
	if(strlen($f_2)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Nom &raquo; est vide ou incomplet.</span>";
		$errf_2=1;
	}
	if(strlen($f_3)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Prénom &raquo; est vide ou incomplet.</span>";
		$errf_3=1;
	}
	if(strlen($f_4)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; E-mail &raquo; est vide ou incomplet.</span>";
		$errf_4=1;
	}else{
		if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
		$f_4)){
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_4=1;
		}
	}
	if(strlen($f_7)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Code postal &raquo; est vide ou incomplet.</span>";
		$errf_7=1;
	}
	if(strlen($f_8)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Ville &raquo; est vide ou incomplet.</span>";
		$errf_8=1;
	}
	if(strlen($f_10)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Objet &raquo; est vide ou incomplet.</span>";
		$errf_10=1;
	}
	if(strlen($f_11)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Message &raquo; est vide ou incomplet.</span>";
		$errf_11=1;
	}
 
	//remplacement des champs vides par --
	if($f_5==""){
		$f_5.="--";
	}
	if($f_6==""){
		$f_6.="--";
	}
	if($f_9==""){
		$f_9.="--";
	}
 
	if($erreur==""){
		// Création du message
 
		  include("PHPMailer/class.phpmailer.php");
		  include("PHPMailer/class.smtp.php");
		  date_default_timezone_set("Europe/Paris"); 
		  $mail             = new PHPMailer(); 
 
		  $body="<div style='background-color : #e2e2e2;'><span style='color : #6b1619;'><strong>Message de ".$list['f_1'][$f_1]." ".$f_3." ".$f_2." (".$f_4.")</strong></span><br />";
		  $body.="<strong>Organisation :</strong> ".$f_5."<br />";
		  $body.="<strong>Adresse :</strong> ".$f_6."<br />";
		  $body.="<strong>Code postal :</strong> ".$f_7."<br />";
		  $body.="<strong>Ville :</strong> ".$f_8."<br />";
		  $body.="<strong>T&eacute;l&eacutephone :</strong> ".$f_9."</div><br />";
		  $body.="<span style='color : #6b1619;'><strong>Objet :</strong></span> ".$f_10."<br /><br />";
		  $body.="<span style='color : #6b1619;'><strong>Message :</strong></span><br /><div style='overflow-wrap: break-word;'>".nl2br($f_11)."</div>";
 
 
		  $mail->IsSMTP();
		  $mail->SMTPAuth   = true;
		  $mail->SMTPOptions = array('ssl' => array('verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true)); // ignorer l'erreur de certificat.
		  $mail->Host       = "mail.domain.com";  
		  $mail->Port       = 587;
		  $mail->Username   = "contact@domain.com";
		  $mail->Password   = "motdepasse";        
		  $mail->From       = $f_4; //adresse de l'expéditeur
		  $mail->FromName   = $f_3." ".$f_2; // nom qui sera affiché
		  $mail->Subject    = "[Contact site] ".$f_10; // objet
		  $mail->MsgHTML($body); 
		  $mail->AddReplyTo($f_4,$f_2." ".$f_3);
		  $mail->AddAddress("contact@domain.com");
		  $mail->IsHTML(true); // envoyer au format html, passer a false si en mode texte 
		  if(!$mail->Send()) {
			echo $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
		  } else {
			$ok_mail="true";
		  } 
	}
}
 
 
?>
 
<html>
 
<head>
<meta charset="utf-8">
<title>Contact</title>
<link href="styles/principal.css" rel="stylesheet" type="text/css">
<link href="styles/formulaire-contact.css" rel="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width" />
 
</head>
 
<body>
 
 
<div id="conteneur">
 
    <nav id="menuprincipal">
    </nav>
 
 
  <main id="page">
  <div id="contenu">
 
  <h1 class="line-through"><span>Contact</span></h1>
 
  <? if($ok_mail=="true"){ ?>
    <div id="mail-ok">
    <p>Merci, votre message a bien été envoyé.<br>Nous y donnerons suite dans les meilleurs délais.</p>
    </div>
  <? }else{ ?>
  <form method='post' action='contact.php' name='Form'>
  <? if($erreur){ ?><p class='txterror'>ERREUR, votre message n'a pas été transmis !</p>
  <ul><? echo $erreur ?></ul><? } ?>
 
  <div class="marges" id="consigne-contact">
  <p>Pour tout renseignement,<br>
  Pour prendre un rendez-vous afin d'étudier vos besoins,<br/>
  Pour demander un devis,<br/>
  ...merci de nous contacter en utilisant le formulaire ci-dessous.</p>
  <p>Nous y donnerons suite dans les meilleurs délais.</p>
  </div>
  <p class='consigne'>Les champs marqués d'un * sont obligatoires.</p>
 
  <fieldset>
  <legend><b>Qui êtes-vous ?</b></legend>
  <p>
  <span class='txtform'>Civilité* :</span>
  <select style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' size='1' class='petitbloc'>
  <? for($id=0;$id<count($list['f_1']);$id++){
  if($id==$f_1){$ct="selected";}
  print("<option ".$ct." value=".$id.">".$list['f_1'][$id]."</option>");
  unset($ct);
  }?>
  </select>
  <span class='txtform'>Nom* :</span>
  <input type='text' style='width:200 <? if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<? echo stripslashes($f_2);?>' class='bloc'>
  <span class='txtform'>Prénom* :</span>
  <input type='text' style='width:200 <? if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<? echo stripslashes($f_3);?>' class='bloc'>
  <span class='txtform'>E-mail* :</span>
  <input type='text' style='width:200 <? if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<? echo stripslashes($f_4);?>' class='bloc'>
  <span class='txtform'>Organisation :</span>
  <input type='text' style='width:200 <? if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<? echo stripslashes($f_5);?>' class='bloc'>
  <span class='txtform'>Adresse :</span>
  <textarea style='width:360 <? if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' rows='3' class='bloc'><? echo$f_6?></textarea>
  <span class='txtform'>Code postal* :</span>
  <input type='text' style='width:200 <? if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<? echo stripslashes($f_7);?>' size='8' class='petitbloc'>
  <span class='txtform'>Ville* :</span>
  <input type='text' style='width:200 <? if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<? echo stripslashes($f_8);?>' class='bloc'>
  <span class='txtform'>Téléphone :</span>
  <input type='text' style='width:200 <? if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' value='<? echo stripslashes($f_9);?>' size='17' class='petitbloc'>
  </p>
  </fieldset>
  <br />
 
  <fieldset>
  <legend><b>Votre message :</b></legend>
  <p>
  <span class='txtform'>Objet* :</span>
  <input type='text' style='width:200 <? if($errf_10==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_10' value='<? echo stripslashes($f_10);?>' class='bloc'>
  <span class='txtform'>Message* :</span>
  <textarea style='width:360 <? if($errf_11==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_11' rows='20' class='bloc'><?echo$f_11?></textarea>
  </p>
 
  <p>
  <input type='submit' name='submit' value='Envoyer' class='envoi'>
  </p>
 
  </fieldset>
  <br />
 
  </form>
  <? } ?>
 
  </div>
 
  </main>
 
</div>
 
</body>
</html>
C'est le même fichier qui contient le formulaire et qui fait le traitement, tel que produit par ce générateur.
Ce formulaire fonctionnait très bien, jusqu'à la migration. Maintenant, dès le premier chargement de la page, il affiche ce que l'on voit sur la capture suivante, et bien sûr on ne peut pas l'utiliser.
Nom : capture.jpg
Affichages : 242
Taille : 150,2 Ko
J'ai vérifié : mon ancien serveur tournait sous PHP 5.4 et le nouveau sous PHP 7.3.8
J'ai bien conscience que ce type de fichier n'est certainement pas un modèle de code mais il remplissait au moins sa fonction. Si quelqu'un a une idée de correction à lui apporter pour qu'il fonctionne de nouveau, j'en serais ravi.
Merci d'avance pour votre aide !