Script "Recommander", qui ne marche plus ? php4 -> php5 ?

mdpubs
Invité n'ayant pas de compte PHPfrance

30 janv. 2014, 11:28

Bonjour à tous,

Voici ci-dessous un script qui marchait très bien. Je suis passé sur un hébergement php5 et mon script ne marche plus. Quelqu'un pourrait-il me dire ce qui cloche dans mon code ? Merci de votre aide :)

Le code en question. Je suis chez OVH et il s'agit d'un script de recommandation d'un mail vers un autre mail :

-------------------------------------------------------------------------------------------------
<html>
<HEAD>
<META http-equiv=Content-Language content="fr-FX">
<TITLE>
<?PHP

// fichier index.php pour recommander votre site. Possibilitée de changement de
// cette page selon votre site si vous connaissez le html. Vous pouvez aussi
// changer le nom de cette page.

require("define.inc.php");

echo "Recommander le site $nom_site</TITLE>
<META NAME=\"Generator\" CONTENT=\"EditPlus\">
</HEAD>

<BODY bgcolor=\"$page_bgcolor\">";
if ($email !="" || $email2 !="" || $nom !="" || $nom2 !="")
{
$tete = "From: $email2\n";
$tete .= "Content-Type: text/html; charset=utf-8";
$t = "<html><body bgcolor=\"$email_bgcolor\">";
$t .= "<font face=\"$email_police\" size=\"$email_size\" color=\"$email_color\"><CENTER><B>Bonjour $nom,</B></CENTER><br><br>";
$t .= "$nom2 vous invite &agrave; venir visiter le site :<br>";
$t .= "<A HREF=\"$url\"><font face=\"$email_police\" size=\"$email_size\" color=\"$email_color\">$url</font></A><br><br>";
$t .= "Voici le message qu'il vous a laiss&eacute; :<br><br>";
$t .= "$body<br><br>";
$t .= "____________________________________</font><br>";
$t .= "<font face=\"$email_police_l\" size=\"$email_size_l\" color=\"$email_color_l\">Cette invitation a &eacute;t&eacute; envoy&eacute; par : $email2<br>";
$t .= "Si vous consid&eacute;rez ce mail comme du spam veuillez &eacute;crire &agrave; $webm_email</font><br>";
$t .= "</body></html>";
$sujet = "$nom2 vous recommande le site $nom_site";
$corps = $t;
mail($email, $sujet, $corps, $tete);
if ($email_envoi =="y")
{
mail("$webm_email", "Une recommandation Abracada a été envoyé", "Salut,\n
Une personne a recommandé Abracada :\n
de $email2 à $email\n
de $nom2 à $nom\n\n
Le message envoyé est : $body\n",
"from: $webm_email");
}
echo "<br><br><br><br><br><FONT SIZE=\"2\" COLOR=\"black\" face=\"verdana\"><CENTER>Votre message a &eacute;t&eacute; envoy&eacute; &agrave; :<br>$email<br><br>Merci beaucoup !<br>$prenom, webmaster de Abracada.<br><br><form><input type=button value=\"Fermer la fen&ecirc;tre\" onClick=\"window.close();\" name=\"button\"></form>";
exit;
}

echo "<CENTER><FONT SIZE=\"$page_size_titre\" face=\"$page_police_titre\" COLOR=\"$page_color_titre\"><B>Recommander le site $nom_site";
?>
-------------------------------------------------------------------------------------------------

Merci :)
William

ViPHP
xTG
ViPHP | 7331 Messages

30 janv. 2014, 14:22

Moi si je tombe sur un script pareil je le jette...
C'est pas un développeur qui a fait cela mais un gougnafier !

En vrac :
- pour tester l'existence d'une variable avant de l'utiliser : fonction isset()
- du coup tu peux faire d'une pierre deux coups avec la fonction empty() qui teste l'existence et que la variable n'est pas vide
- il faut utiliser les super-globales pour accéder aux données : $_GET pour l'url, $_POST pour un formulaire avec method POST, $_SESSION pour les variables de session, $_COOKIES pour les cookies, ect
- tester le retour de la fonction mail qui peut échouer (par contre le fait qu'elle ne retourne pas d'erreur n'indique pas forcement que le mail est bien parti)

mdpubs
Invité n'ayant pas de compte PHPfrance

30 janv. 2014, 15:48

Merci de ta réponse. C'est un script que j'ai récupéré sur Internet. Personnellement je ne m'y connais que très peu en php. Dans le code que je présente quelle(s) lignes je dois changer et par quoi. Tes explication sont trop techniques pour moi. En fait j'aimerai juste faire remarcher ce script... Merci si tu peux m'aider :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 janv. 2014, 20:30

salut,

ce qu'indiquer xTG c'est que le script est fait avec des façon de faire antédiluvienne (on n'utilise plus vraiment le silex pour couper la viande ;) ).

ce que tu souhaite fauire n'est pas compliqué et tu y gagnera en le faisant toi même ;)

pour t'aider lit les tutos de
http://www.phpdebutant.org
ou
http://www.lephpfacile.com


@+
Il en faut peu pour être heureux ......

mdpubs
Invité n'ayant pas de compte PHPfrance

31 janv. 2014, 13:06

Merci pour la réponse. Ce que j'ai besoin c'est de régler ce problème. Je sais la somme de travail et de temps qu'il faut pour apprendre le PHP et les nouvelles normes. Et je n'ai malheureusement pas ce temps. Là j'ai besoin juste d'un coup de main pour modifier ce document afin qu'il remarche de nouveau. Je pense pas que tout le code doit être changé, mais juste quelques caractères. Si quelqu'un peut m'aider à faire ça, je lui serai reconnaissant :) Merci

ViPHP
xTG
ViPHP | 7331 Messages

31 janv. 2014, 14:12

Objectivement il faut changer plus de 50% du code en fait si on ne comptabilise pas les informations textuelles...

mdpubs
Invité n'ayant pas de compte PHPfrance

01 févr. 2014, 10:10

Oui j'ai bien compris que mon code est archaïque... ! Alors au moins Est-ce que quelqu'un peut me donner un lien vers un script en PHP, de recommandation de page, qui soit propre et efficace. Ou si quelqu'un peut me donner la solution sur ce script, même s'il n'est pas parfait ! La seule chose que je souhaite c'est qu'il marche... :) En fait c'est la fonction Submit qui ne marche plus. Le formulaire se réouvre sans prendre les données du formulaire ???