[RESOLU] undefined function session_is_registered()

Eléphant du PHP | 111 Messages

21 déc. 2013, 19:01

Bonjour, Bonsoir,

J'ai trouver un début de regie publicitaire sur le net, avec comme index pour ajouter sa publicités :
<?php
    session_start();	
    include('pub_config.php');
		function Securise($str)
			{
				$str = mysql_real_escape_string(htmlspecialchars(stripslashes(nl2br(trim($str)))));
				return $str;
			}
        function  Redirect($url)
			{
				echo "<SCRIPT LANGUAGE=\"JavaScript\"> document.location.href=\"".$url."\" </SCRIPT>";
			}
    $page = Securise($_GET['page']);
    $redirect = Securise($_GET['redirect']);
    $stat = Securise($_GET['stat']);
?>
<html>
<!-- Régie Publicitaire By Mehdy ©2012-2013 -->
    <head>
        <title><?php echo $nom_site; ?> - PUB</title>
		<link rel="stylesheet" href="pub.css" />
    </head>
    <center>
        <div id="bcorp">
            <div id="corp">
                <center>
                    <?php

                    if($page == 'post') 
					{
                        $nom = Securise($_POST['nom_site']);
                        $description = Securise($_POST['description']);
                        $lien = Securise($_POST['lien']);
                        $mail = Securise($_POST['email']);
                        if(isset($nom) && isset($description) && isset($lien) && isset($mail))
						{
	                         if(strlen($nom) < 1) 
							{
	                            echo "<script>alert(\"Merci de mettre un nom.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							elseif(strlen($description) < 1) 
							{
	                            echo "<script>alert(\"Merci de mettre une description.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							elseif(strlen($lien) < 1) 
							{
	                            echo "<script>alert(\"Merci de mettre un lien.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							elseif(strlen($mail) < 1) 
							{
	                            echo "<script>alert(\"Merci de mettre une adresse email.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							elseif(strlen($nom) > 20) 
							{
	                            echo "<script>alert(\"Le nom dépasse 20 caractères.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							elseif(strlen($description) > 100) 
							{
	                            echo "<script>alert(\"La description est trop grande.\")</script>";
                                Redirect($url_pub."?page=debut");
	                        } 
							else 
							{
	                            $_SESSION['nom_site'] = $nom;
	                            $_SESSION['description'] = $description;
	                            $_SESSION['lien'] = $lien;
	                            $_SESSION['email'] = $mail;
	                            $_SESSION['pass'] = $pass;
	                            Redirect($url_pub."?page=verification");
                            }
                        } 
						else 
						{
 	                        echo "<script>alert(\"Merci de remplir les champs vides.\")</script>";
                            Redirect($url_pub."?page=debut");
                        }
                    }
                    if($page =='annul') 
					{
                        session_destroy();
                        Redirect($url_pub."?page=debut");
                    }
                    if($page == 'debut') {
                    ?>
                    <b><big>Remplissez les champs</big></b><br /><br />
	                <form action="<?php echo $url_pub;?>?page=post" method="post">
			            <table>
			                <tr>
				                <td style="text-align:right">Nom de votre site : &nbsp;&nbsp;&nbsp;</td>
				                <td><input type="text" MAXLENGTH="20" class="text_field" name="nom_site" value="" onkeydown="if(event.keyCode==32) return false;" /></td>
			                </tr>
			                <tr>
				                <td style="text-align:right">Message de l'annonce : &nbsp;&nbsp;&nbsp;</td>
				                <td><input class="text_field" MAXLENGTH="100" type="text" name="description" value="" /></td>
			                </tr>
			                <tr>
				                 <td style="text-align:right">Lien du site: &nbsp;&nbsp;&nbsp;</td>
				                 <td><input class="text_field" type="text" name="lien" value="http://" onkeydown="if(event.keyCode==32) return false;" /></td>
			                </tr>
			                <tr>
				                <td style="text-align:right">Votre eMail : &nbsp;&nbsp;&nbsp;</td>
				                <td><input class="text_field" type="text" name="email" value="[email protected]" onkeydown="if(event.keyCode==32) return false;" /></td>
			                </tr>
			                <tr>
			
		                        <td></td>
				                <td style="text-align:left"><input type="submit" class="btn btn-m" name="button" id="submitter" /> <input type="reset" class="btn btn-m" /></td>
			                </tr>
			            </table>
				    </form>
                    <?php
                    } 
                    elseif($page == "verification") 
					{
                        if(!session_is_registered(nom_site)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(description)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(lien)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(email)) 
						{
                        Redirect($url_pub."?page=debut");
                        }
                        /* $sql = mysql_query("SELECT * FROM pub WHERE nom='".$_SESSION['nom_site']."'"); 
                        $row = mysql_num_rows($sql);
                        if($row >= 1) 
						{
                            echo "<script>alert(\"Un site portant ce nom a déjà été enregistrer.\")</script>";
                            Redirect($url_pub."?page=debut");
                        } */
                    ?>
                    <b><big>Verification</big></b><br /><br />
                    <b>Nom</b>: <?php echo htmlspecialchars($_SESSION['nom_site']); ?><br />
                    <b>Description</b>: <?php echo htmlspecialchars($_SESSION['description']); ?><br />
                    <b>Lien</b>: <?php echo htmlspecialchars($_SESSION['lien']); ?><br />
                    <b>Adresse eMail</b>: <?php echo htmlspecialchars($_SESSION['email']); ?><br /><br />
                    <a class="bouton" href="<?php echo $url_pub; ?>?page=payement"><span class="spantexta">Valider</span></a> <a class="bouton" href="<?php echo $url_pub; ?>?page=annul"><span class="spantexta">Annuler</span></a>
                   <?php 
				    } 
					elseif($page == 'payement') 
					{
                        if(!session_is_registered(nom_site)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(description)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(lien)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(email)) {
                            Redirect($url_pub."?page=debut");
                        }
                        $sql = mysql_query("SELECT * FROM pub WHERE nom='".$_SESSION['nom_site']."'"); 
                        $row = mysql_num_rows($sql);
                    if($row >= 1) 
					{
                        echo "<script>alert(\"Un site portant ce nom a déjà été enregistrer.\")</script>";
                        Redirect($url_pub."?page=debut");
                    }
                    ?>
                    <b><big>Payement</big></b><br /><br />
                    <div id="starpass_<?php echo $id_document; ?>"></div>
                    <script type="text/javascript" src="http://script.starpass.fr/script.php?idd=<?php echo $id_document; ?>&verif_en_php=1&datas=">
                    </script>
                    <noscript>Veuillez activer le Javascript de votre navigateur s'il vous pla&icirc;t.<br />
                    <a href="http://www.starpass.fr/">Micro Paiement StarPass</a>
                    </noscript>
                   <?php 
				   } 
				   elseif($page == 'envoie') 
				   {
                        if(!session_is_registered(nom_site)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(description)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(lien)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        if(!session_is_registered(email)) 
						{
                            Redirect($url_pub."?page=debut");
                        }
                        // Déclaration des variables
                        $ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=$code4=$code5=$datas='';
                        $idp = $id_compte;
                        // $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
                        $idd = $id_document;
                        $ident=$idp.";".$ids.";".$idd;
                        // On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
                        if(isset($_POST['code1'])) $code1 = $_POST['code1'];
                        if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
                        if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
                        if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
                        if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
                        $codes=$code1.$code2.$code3.$code4.$code5;
                        // On récupère le champ DATAS
                        if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
                        // On encode les trois chaines en URL
                        $ident=urlencode($ident);
                        $codes=urlencode($codes);
                        $datas=urlencode($datas);

                        /* Envoi de la requête vers le serveur StarPass
                        Dans la variable tab[0] on récupère la réponse du serveur
                        Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
                        $get_f=@file("http://script.starpass.fr/check_php.php?ident=$ident&codes=$codes&DATAS=$datas");
                        if(!$get_f)
                        {
                            exit("Votre serveur n'a pas accès au serveur de Starpass, merci de contacter votre hébergeur.");
                        }
                        $tab = explode("|",$get_f[0]);

                        if(!$tab[1]) $url = $url_pub."?page=payement";
                        else $url = $tab[1];

                        // dans $pays on a le pays de l'offre. exemple "fr"
                        $pays = $tab[2];
                        // dans $palier on a le palier de l'offre. exemple "Plus A"
                        $palier = urldecode($tab[3]);
                        // dans $id_palier on a l'identifiant de l'offre
                        $id_palier = urldecode($tab[4]);
                        // dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
                        $type = urldecode($tab[5]);
                        // vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php

                        // Si $tab[0] ne répond pas "OUI" l'accès est refusé
                        // On redirige sur l'URL d'erreur
                        if(substr($tab[0],0,3) != "OUI")
                        {
                            header("Location: $url");
                            exit;
                        }
                        else
                        {
                            $date_ac = time();
                            $date_calcul = ($nb_jour_pub * 24) * 3600;
                            $date_expire = $date_ac + $date_calcul;
                            function Genere_code($size)
                            {
                                $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
                                for($i=0;$i<$size;$i++)
                                {
                                    $code .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)];
                                }
                                return $code;
                            }
                            $code1 = Genere_code(12);
                            $codeentier = "".$_SESSION['nom_site']."".$code1."";
                            mysql_query("INSERT INTO pub (nom,description,lien,mail,temp,pass) VALUES ('".$_SESSION['nom_site']."','".$_SESSION['description']."','".$_SESSION['lien']."','".$_SESSION['email']."','".$date_expire."','".$codeentier."')") or die(mysql_error());
                            $destinataire = $_SESSION['email'];
                            $sujet = "Payement accepter" ;
                            $entete = "From: ".$adr_mail_site."" ;
                            $message = "Merci pour votre achat sur  ".$nom_site." - PUB,

                            Pour pouvoir afficher vos statistiques il faudrat utilisé ce lien:
                            ".$url_pub."?stat=".$codeentier."

                            Votre pub sera active pour une durée de 15 jours ensuite elle sera supprimée.
                            ---------------
                            Ceci est un mail automatique, Merci de ne pas y répondre.";
                            mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
                    ?>
                    <b><big>Payement Accepté</big></b><br /><br />
                    Votre pub circule sur le site.<br />
                    Pour afficher les statistiques de votre pub voilà les informations dont vous aurez besoin :<br />
                    Un lien vous permettant de visualiser vos statistiques va vous êtres envoyé par mail. Il ce peut qu'il soit dans vos mails indésirables.
                    <?php 
					        session_destroy();
                        } 
				    } 
					elseif($page == 'erreur') 
					{ 
					?>
                    <b><big><?php echo $nom_site; ?> - Pub</big></b><br /><br />
                    Votre code n'a pas été accepté <br /><a href="<?php echo $url_pub; ?>?page=payement">Retourner à la page de payement</a>
                    <?php 
				    } 
					elseif($redirect != '') 
					{
                        $sql = mysql_query("SELECT * FROM pub WHERE id='".$redirect."'"); 
                        $row = mysql_num_rows($sql);
                        $n = mysql_fetch_assoc($sql);
                        if($row < 1) {
                            Redirect($url_pub);
                        } 
						else 
						{
                            mysql_query("UPDATE pub SET clique = clique +1 WHERE id = '".$redirect."'");
                            Redirect($n['lien']);
                    ?>
                    Redirection
                    <?php
                        } 
					} 
					elseif($stat != "") 
					{
                        $sql = mysql_query("SELECT * FROM pub WHERE pass='".$stat."'"); 
                        $row = mysql_num_rows($sql);
                        $n = mysql_fetch_assoc($sql);
                        $stamp_now = mktime(date('H:i:s d-m-Y'));
                        $stamp_expire = $n['temp'];
                        $expire = date('d/m/Y H:i:s', $n['temp']);
                        if($row < 1) {
                            Redirect($url_pub);
                        }
						else 
						{
                    ?>
                    <b><big><?php echo $nom_site; ?> - Statistiques</big></b><br />
					<b><?php echo $n['nom'].': '.$n['description']; ?></b><br /><br />
					<b>Statistiques pub id</b>: <?php echo $n['id']; ?><br />
                    <b>Nombre de cliques</b>: <?php echo $n['clique']; ?><br />
                    <b>Expire le <?php echo $expire; ?></b>
                    <?php 
					    } 
					} 
					else 
					{ 
					?>
                    <b><big><?php echo $nom_site; ?> - Pub</big></b><br /><br />
                    <?php echo $nom_site; ?> - Pub est une régie publicitaire vous permettant d'afficher votre annonce sur notre site.<br />
                    Grâce à ce système vous pourrez augmenter l'audience de votre site pour un tarif réduit.<br /><br /><br />
                    Pour avoir votre pub sur notre site, il vous suffit de payer 1€ (un starpass).<br /><br /><br />

                    Pour commencer dès maintenant votre campagne, cliquez sur le bouton ci-dessous :<br /><br />
                    <!-- Vous placerez ici un bouton, pour l'instant juste un lien -->
                    <a class="bouton" href="<?php echo $url_pub; ?>?page=debut"><span class="spantexta">Commander ma pub</span></a>
                    <?php 
					} 
					?>
                </center>
            </div>
        </div>
    </center>
    <br />
    <br />
    <center>
        <footer>
            Régie publicitaire by Mehdy pour Skool-Groupe<br />
            ©2012-2013
        </footer>
    </center>
</html>
Et quand je mets le nom de mon site, la description, le mail, le lien je vais vers la page verification et j'ai une erreur :

Fatal error: Call to undefined function session_is_registered() in C:\xampp\htdocs\pub\index.php on line 120

La ligne 120 :
if(!session_is_registered(nom_site))
Voilà Merci beaucoup ^^