Livre d'or avec Free

Fermé
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 - 11 mai 2017 à 12:56
 Denizay - 28 mai 2017 à 22:38
Bonjour,

J'ai récemment ajouter l'onglet "avis" sur mon site dans lequel j'ai introduit un formulaire avec "nom" et "message" que mes visiteurs rempliront.
Seulement lorsque je clique sur "Envoyer", j'ai un message d'erreur.

Mon site est hébergé chez Free, j'ai donc bien activé le serveur MySQL sur mon compte free qui me permet de gérer le site.

J'ai deux documents celui où j'ai le formulaire en .html et les instructions Mysql en .php les voici:

Voici le fichier .php
 <?php

  define ("HOST", "lenaphotography.sql.free.fr");
  define ("DB",   "lenaphotography");
  define ("USER", "lenaphotography");
  define ("PWD",  "montmotdepasse");

	function initDB ($host="lenaphotography", $user="lenaphotography", $pwd="monmotdepasse", $database="lenaphotography") {
		$link = mysql_connect($host, $user, $pwd);
		if (!$link)
		   die('Impossible de se connecter : ' . mysql_error());

		$db_selected = mysql_select_db($database, $link);
		if (!$db_selected)
		   die ('Impossible de sélectionner la base de données : ' . mysql_error());

		$query = "CREATE TABLE IF NOT EXISTS `livredor` (
		  `id` int(11) NOT NULL AUTO_INCREMENT,
		  `ip` varchar(20) NOT NULL default 'Not defined',
		  `dateheure` datetime NOT NULL default '0000-00-00 00:00:00',
		  `nom` varchar(100) NOT NULL default 'Anonyme',
		  `message` text NOT NULL,
		  PRIMARY KEY  (`id`)
		) ENGINE=MyISAM DEFAULT CHARSET=latin1;";

		mysql_query ($query) or die ("<error>" . mysql_error() . "</error>" );
}


 /*
 * string get_ip()
 * Retourne la vraie adresse IP du client, même si celui-ci est sous proxy
 */
 function get_ip()
 {
     if($_SERVER)
     {
         if($_SERVER['HTTP_X_FORWARDED_FOR'])
             $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         elseif($_SERVER['HTTP_CLIENT_IP'])
             $ip = $_SERVER['HTTP_CLIENT_IP'];
         else
             $ip = $_SERVER['REMOTE_ADDR'];
     }
     else
     {
         if(getenv('HTTP_X_FORWARDED_FOR'))
             $ip = getenv('HTTP_X_FORWARDED_FOR');
         elseif(getenv('HTTP_CLIENT_IP'))
             $ip = getenv('HTTP_CLIENT_IP');
         else
             $ip = getenv( 'REMOTE_ADDR');
     }

     return $ip;
}

	header("Content-type: text/xml");
	print('<?xml version="1.0" encoding="UTF-8"?>' . "\n");
	
	echo "<results>\n";
	if (isset($_REQUEST['todo'])) {
		initDB(HOST, USER, PWD, DB);
		if ($_POST['todo'] == "addPost")
			addPost();
		if ($_GET['todo'] == "viewPosts")
			viewPosts();
	} else
		echo "<error>nothing to do</error>\n";
	echo "</results>";

	function addPost() {
    // si l'option magic_quotes_gpc est activée
    if( get_magic_quotes_gpc() == true )
    {
  		$nom = stripslashes($_POST['nom']);
  		$mail = stripslashes($_POST['mail']);
  		$message = stripslashes($_POST['message']);
    }
	
    $ip = get_ip();
		$nom = mysql_real_escape_string($nom);
		$message = mysql_real_escape_string($message);
		
    }
    echo "<error>MAIL_OK</error>\n";

		if (trim($nom) == "")
      $nom = "Non connu";
    if (trim($mail) == "")
      $mail = "Non connu";
		if (trim($message) == "") {
		  echo "<error>message must be exist.</error>\n";
    } else {
  		$query = "INSERT INTO `lenaphotography` (`ip`, `dateheure`, `nom`, `message`) " .
  				 "VALUES ('". $ip . "', NOW(), '" . $nom . "', '" . $message . "')";
  		$result = mysql_query ($query) or die ('<error>' . mysql_error() . '</error>\n');
  		printf("<result>%d ligne ajoutée</result>\n", mysql_affected_rows());
    }
    if (mysql_affected_rows() > 0)
      echo "<error>INSERTION_OK</error>\n";
    else
      echo "<error>INSERTION_KO</error>\n";
	
	function viewPosts () {
		$query = "SELECT * FROM `lenaphotography` ORDER BY `dateheure` DESC";
		$result = mysql_query ($query);
		
		while ($row = mysql_fetch_array($result)) {
      $id         = htmlentities (stripslashes($row['id']));
      $dateheure  = htmlentities (stripslashes($row['dateheure']));
      $nom        = htmlentities (stripslashes($row['nom']), ENT_QUOTES, "UTF-8");
      $message    = htmlentities (stripslashes($row['message']), ENT_QUOTES, "UTF-8");
      
      $message    = str_replace ("&", "&", $message);
      $nom        = str_replace ("&", "&", $nom);

			echo "<result>\n";
        echo "<id>" . $id . "</id>\n";
				echo "<dateheure>" . $dateheure . "</dateheure>\n";
				echo "<nom>" . $nom . "</nom>\n";
				echo "<message>" . $message . "</message>\n";
			echo "</result>\n";
		}
		echo "<totalmessages>" . mysql_num_rows($result) . "</totalmessages>\n";
	}
?>




Et voici mon fichier .html


<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
	<meta name="viewport" content="width=device-width"/>

    <title>Avis | Lena Photography</title>

    <!-- Bootstrap Core CSS -->
    <link href="bootstrap.min.css" rel="stylesheet">

    <!-- Theme CSS -->
    <link href="clean-blog.min.css" rel="stylesheet">

    <!-- Custom Fonts -->
    <link href="police/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->


	
	<script src="js/prototype-1.4.0.js" type="text/javascript"></script>
		<script src="js/guestbook.js" type="text/javascript"></script>
</head>

<body>

 

<!-- Empeche le clic droit  -->
<script language="JavaScript1.2"> 

function ejs_nodroit() 
{ 
alert('Vous ne pouvez pas copier cette page.'); 
return(false); 
} 

document.oncontextmenu = ejs_nodroit; 
</script>

    <!-- Navigation -->
    <nav class="navbar navbar-default navbar-custom navbar-fixed-top">
        <div class="container-fluid">
              <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header page-scroll">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">Toggle navigation</span>
                    Menu <i class="fa fa-bars"></i>
                </button>
               <a class="index-fr" href="guestbook.html" rel="nofollow noopener noreferrer" target="_blank"><img src="img/fr.png"  style="cursor:pointer;" > <a class="index-en" href="guestbook-en.html" rel="nofollow noopener noreferrer" target="_blank"> <img src="img/en.png" style="cursor: pointer;"><a class="index-tr" href="guestbook-tr.html" rel="nofollow noopener noreferrer" target="_blank"> <img src="img/tr.png" style="cursor:pointer;"></a> 
            </div>
         

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="index.html" rel="nofollow noopener noreferrer" target="_blank">Accueil</a>
                    </li>
                    <li>
                        <a href="galeries.html" rel="nofollow noopener noreferrer" target="_blank">Galerie</a>
                    </li>
                    <li>
                        <a href="about.html" rel="nofollow noopener noreferrer" target="_blank">A propos</a>
                    </li>
					<li>
                        <a href="guestbook.html" rel="nofollow noopener noreferrer" target="_blank">Avis</a>
                    </li>
                    <li>
                        <a href="contact.php" rel="nofollow noopener noreferrer" target="_blank">Contact</a>
                    </li>
                </ul>
            </div>
            <!-- /.navbar-collapse -->
        </div>
        <!-- /.container -->
    </nav>

    <!-- Page Header -->
    <!-- Set your background image for this header on the line below. -->
    <header class="intro-header" style="background-image: url('img/livredor.jpg')">
        <div class="container">
            <div class="row">
                <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                    <div class="page-heading">
                        <h1 style="font-family: Gabriola; ">Vos avis</h1>
                        <hr class="small">
						 <span class="subheading">Un avis? Laissez votre message!</span>
                        <span class="subheading"></span>
                    </div>
                </div>
            </div>
        </div>
    </header>

    <!-- Main Content -->
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
			
		 <p>Remplissez les champs puis cliquez sur Envoyer. </p>
                <!-- Contact Form - Enter your email address on line 19 of the mail/contact_me.php file to make this form work. -->
                <!-- WARNING: Some web hosts do not allow emails to be sent through forms to common mail hosts like Gmail or Yahoo. It's recommended that you use a private domain email address! -->
                <!-- NOTE: To use the contact form, your site must be on a live web host with PHP! The form will not work locally! -->
                <form method="POST" action="http://perso0.free.fr/cgi-bin/guestbook.html" id="lenaphotography" action="guestbook.php"  onSubmit="return addPost(this)" >
					
					
					 <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls" title="accesskey: 'n'">
                           <label for="nom">Nom :</label>
                            <input type="text" class="form-control" placeholder="Nom" name="nom" id="nom" accesskey="n" required data-validation-required-message="Entrez votre nom s'il vous plaît.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
					
										
					<div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label for="mess">Message :</label>
                            <textarea rows="5" class="form-control" placeholder="Message" id="mess" name="mess" accesskey="m" required data-validation-required-message="Entrez votre message s'il vous plaît."></textarea>
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
				
					<input type="hidden" name="todo" value="addPost" />
				
                    <br>
					
					
					<div class="g-recaptcha" data-sitekey="6LeJKRcUAAAAADiJ1I7KJ6h_o4brqlKpylbfbHZa"></div>
					
                    <div id="success"></div>
                    <div class="row">
                        <div class="form-group col-xs-12" title="accesskey: 's'">
                            <button type="submit" class="btn btn-default">Envoyer</button>
                        </div>
                    </div>
					
					<center><i><p style="font-size: 18px;" > Merci pour votre message et à bientôt!  </p>
					</i></center>
                </form>
            </div>
			
			<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
			<legend><span id="compteur">0 message</span> pour le moment.</legend>
				<p id="posts"> </p>
			</div>
        </div>
    </div>
	
       
        
   
    <hr>
<center>
	
	
	<iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Flenaphotography.free.fr%2F&width=150&layout=standard&action=like&size=small&show_faces=true&share=true&height=80&appId" width="250" height="80" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
    </center>
    <!-- Footer -->
    <footer>
        <div class="container">
            <div class="row">
                <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                   
                    <p class="copyright text-muted">Tous droit réservés<br />© 2017 Lena Photography</p>
                </div>
            </div>
        </div>
    </footer>

    <!-- jQuery -->
    <script src="js/js/jquery.min.js"></script>

    <!-- Bootstrap Core JavaScript -->
    <script src="js/js/bootstrap.min.js"></script>


    <!-- Theme JavaScript -->
    <script src="js/js/clean-blog.min.js"></script>

</body>

</html>



Avez-vous une idée d'où peut provenir ce message d'erreur et pourquoi?
Manque t-il une étape que je n'ai pas faite? Je précise que je suis débutante donc il est possible que j'ai zappé une étape.
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
11 mai 2017 à 14:45
Salut,

Peux tu nous donner le message d'erreur complet ?

Bonne journée,
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3
Modifié le 12 mai 2017 à 09:54
Ah ba oui ! Je me disais qu'il manquait quelque chose dans mon message :)



Au départ c'est ce message d'erreur que j'avais, ensuite j'ai fais quelque modifs à la ligne "3" comme indiqué.

Maintenant, je t'invite à aller voir sur mon site l'onglet "avis" et laisse y un avis tu verra que j'ai maintenant un autre message d'erreur qui s'affiche. Il s'agit d'une page de Free qui s'ouvre "erreur 500"... Je ne sais pas comment faire pour y remédier.

Le site en question: http://lenaphotography.free.fr/guestbook.html

Puis, voici ce que j'ai fais sur le serveur MySQL de Free.fr:

0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
12 mai 2017 à 10:16
Bonjour,

Chez Free, l'adresse du serveur "host" est "http://sql.free.fr" et non "lenaphotography.sql.free.fr
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
12 mai 2017 à 10:18
Ah je savais pas :) je vais corriger ça voir ce que ça donne.
Merci !
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
12 mai 2017 à 10:37
Une autre précision, chez Free, 3 versions de Php et de MySQL sont disponibles, le choix se fait à l'aide d'un fichier .htaccess placé à la racine du site. En fonction de la version choisie, le code PHP et MySQL utilisé ne sera pas le même.
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
12 mai 2017 à 10:47
Ce fichier .htaccess je l'ai à la racine de mon site. Je l'avais crée pour mon formulaire de contact (qui ne fonctionne toujours pas d'ailleurs).

Dessus il y a écrit:

<IfDefine Free>
php56 1
</IfDefine>
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
Modifié le 12 mai 2017 à 11:23
La version PHP est donc la 5.6.8 et la version MySQL, 5.0.11-dev

Voir : https://www.php.net/manual/fr/intro.mysqli.php
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3
12 mai 2017 à 10:40
Bon baa j'ai toujours ce message d'erreur :/

0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
12 mai 2017 à 10:47
Si tu utilises le livre d'or proposé par Free, je crois qu'il y a un problème en ce moment. De plus, il n'est plus maintenu.
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
Modifié le 12 mai 2017 à 10:55
Non, c'est un livre do'r que j'ai crée moi même... mais les messages ne se postent pas et donc j'ai été créer une table dans le fichier MySQL de free.
En fait je sais pas trop. Il y a t-il une autre solution pour que les messages laissés se postent ? Sans forcément passer par free ?
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
12 mai 2017 à 11:07
Si ton site est hébergé sur les pages-perso de Free, il faut utiliser les serveurs de Free, ils fonctionnent relativement bien.

Je n'ai pas le courage de revoir tout ton code, j'ai mal aux yeux.

Il existe des scripts de livre d'or compatibles avec les exigences de Free :

Livres d'or (avec base SQL)

@lexguestbook
Chopin
El Coyotos (si couplé avec anti-spam par captcha)
GreatWebBook
GuestBook
Lazarus
myPHPscripts Guestbook
QuickTalk
Script Winn Guestbook
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
12 mai 2017 à 11:29
D'accord je vais voir ça, mais avec ces scripts je vais pouvoir garder mon propre design ou alors il va complètement changer ?
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
Modifié le 12 mai 2017 à 11:31
En principe, il est toujours possible d'utiliser sa propre feuille de styles.

Avant d'utiliser un script, vérifie qu'il est compatible avec la version PHP et MySQL de ton serveur.
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3
12 mai 2017 à 11:39
Sinon si une autre personne peut lire mon code ce serait sympa pour m'aider à comprendre ce message d'erreur chez free.

Merci
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
12 mai 2017 à 11:46
Pour le message d'erreur, c'est à cause de cette partie de code :

<form method="POST" action="http://perso0.free.fr/cgi-bin/guestbook.html" id="lenaphotography" action="guestbook.php"  onSubmit="return addPost(this)" >


L'action redirige vers "http://perso0.free.fr/cgi-bin/guestbook.html"
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
12 mai 2017 à 12:10
D'accord, et elle est sensé rediriger vers où, tu sais?
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
12 mai 2017 à 12:14
Vers ta page en PHP qui traite les données transmises par ton formulaire, c'est à dire, guestbook.php, si j'ai bien compris.
0
Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021 3 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
Modifié le 12 mai 2017 à 12:26
En effet, c'est bien cette page et c'est justement à ce moment là que j'ai la toute première erreur :)

ligne 3: define ("HOST", "http://sql.free.fr");

même après modification, l'erreur persiste.

Dans cette partie du code j'ai modifié aussi "host", avant j'avais ça:

	function initDB ($host="lenaphotography", $user="lenaphotography", $pwd="monmotdepasse", $database="lenaphotography")


maintenant j'ai mis pareil qu'en haut:
	function initDB ($host="sql.free.fr", $user="lenaphotography", $pwd="monmotdepasse", $database="lenaphotography")
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Denizay Messages postés 105 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 21 novembre 2021
12 mai 2017 à 12:23
Tu as aussi une erreur à cette ligne :

function initDB ($host="lenaphotography"

la variable $host n'est probablement pas "lenaphotography", mais, à mon avis, "http://sql.free.fr".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Toujours personne pour m'aider ? Mon code me paraît bon... Je n'ai pas réussi à trouver l'erreur
0