8795 sujets

Développement web côté serveur, CMS

Hello tous,

Voilà, je souhaite mettre en place un livre d'Or, donc une page en php pour mon site. Seulement, celui-ci qui fonctionne très bien en localhost ne fontionne plus en ligne.
Je travaille avec Dreamweaver car mes compétences en php sont un peu limitées.

Smiley confused

En fait, lorsque je clique sur Jeu d'enregistrements dans l'onglet Liaisons, une boite de dialogue avec un message d'erreur s'affiche :

" MySQL Error#: 2002
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"


De même, dans l'onglet Base de données, connexion MySQL, pour table, il me met aucune !??? Je trouve ça vraiment curieux puisque le livre d'or fonctionne quand même.

Mais revenons au pb principal puisqu'il s'agit de le faire fontionner en ligne. Voici l'erreur qui s'affiche lorsqu'on clique sur la page :

"Fatal error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /homepages/44/d196532377/htdocs/Connections/connexionMysql.php on line 9".

Donc visiblement, la connexion avec la base de données ne peut être établie. Le problème c'est que je ne sais pas comment établir cette connexion pour une page qui est en ligne. Car visiblement, il ne suffit pas de juste copier la page sur le serveur.

J'espère que je n'ai pas été trop confuse dans mes explications. Je vous mets le code, si cela peut aider :

<?php require_once('Connections/connexionMysql.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO livre (prenom, nom, codep, pays, mail, sujet, message, date) VALUES (%s, %s, %s, %s, %s, %s, %s, NOW())",
                       GetSQLValueString($_POST['prenom'], "text"),
                       GetSQLValueString($_POST['nom'], "text"),
                       GetSQLValueString($_POST['codep'], "text"),
                       GetSQLValueString($_POST['pays'], "text"),
                       GetSQLValueString($_POST['mail'], "text"),
                       GetSQLValueString($_POST['sujet'], "text"),
                       GetSQLValueString($_POST['message'], "text"));
					   

  mysql_select_db($database_connexionMysql, $connexionMysql);
  $Result1 = mysql_query($insertSQL, $connexionMysql) or die(mysql_error());
}

$maxRows_rsLivre = 5;
$pageNum_rsLivre = 0;
if (isset($_GET['pageNum_rsLivre'])) {
  $pageNum_rsLivre = $_GET['pageNum_rsLivre'];
}
$startRow_rsLivre = $pageNum_rsLivre * $maxRows_rsLivre;

mysql_select_db($database_connexionMysql, $connexionMysql);
$query_rsLivre = "SELECT * FROM livre ORDER BY ID DESC";
$query_limit_rsLivre = sprintf("%s LIMIT %d, %d", $query_rsLivre, $startRow_rsLivre, $maxRows_rsLivre);
$rsLivre = mysql_query($query_limit_rsLivre, $connexionMysql) or die(mysql_error());
$row_rsLivre = mysql_fetch_assoc($rsLivre);

if (isset($_GET['totalRows_rsLivre'])) {
  $totalRows_rsLivre = $_GET['totalRows_rsLivre'];
} else {
  $all_rsLivre = mysql_query($query_rsLivre);
  $totalRows_rsLivre = mysql_num_rows($all_rsLivre);
}
$totalPages_rsLivre = ceil($totalRows_rsLivre/$maxRows_rsLivre)-1;

$queryString_rsLivre = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_rsLivre") == false && 
        stristr($param, "totalRows_rsLivre") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_rsLivre = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_rsLivre = sprintf("&totalRows_rsLivre=%d%s", $totalRows_rsLivre, $queryString_rsLivre);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Le Livre d'Or du Th&eacute;&acirc;tre de l'Equinoxe</title>
<link href="livre_or.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="formulaire">
  <form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
    <p>VOS COORDONNEES</p>
    <p>Nom* : 
      <label>
      <input name="nom" type="text" id="nom" size="27" />
      </label>
    </p>
    <p>Prenom* : 
      <label>
      <input name="prenom" type="text" id="prenom" size="25" />
      </label>
    </p>
    <p>VOTRE ADRESSE : </p>
    <p>Code Postal* : 
      <label>
      <input name="codep" type="text" id="codep" size="10" />
      </label>
    </p>
    <p>Pays* : 
      <label>
      <input name="pays" type="text" id="pays" size="27" />
      </label>
    </p>
    <p>ADRESSE ELECTRONIQUE</p>
    <p>Mail* : 
      <label>
      <input name="mail" type="text" id="mail" size="27" />
      </label>
    </p>
    <p>VOTRE MESSAGE</p>
    <p>Sujet* : 
      <label>
      <input name="sujet" type="text" id="sujet" size="27" />
      </label>
    </p>
    <p>Message* :</p>
    <p>    
      <label>
      <textarea name="message" cols="31" rows="5" id="message"></textarea>
      </label>
    </p>
    <p>
      <label>
      
      <input type="submit" name="Submit" value="Effacer" />
      </label>
      &nbsp;
      <label>
      <input type="submit" name="Submit2" value="Envoyer" />
      </label>
    </p>
    <input type="hidden" name="MM_insert" value="form1">
  </form>
</div>
<div class="textform" id="titre">
  <p class="boldtitre">Saisissez vos coordonn&eacute;es et commentaires ci-dessous... </p>
  <p>* Champs obligatoires pour la validation du message </p>
</div>
<div id="tableau">
  <table width="293" height="183" border="0" cellpadding="0" cellspacing="0">
    <?php do { ?>
      <tr>
        <td><img src="carrerouille.gif" width="10" height="10" /> <span class="sujetdate"><?php echo $row_rsLivre['sujet']; ?> - <?php echo $row_rsLivre['date']; ?></span></td>
      </tr>
      <tr>
        <td class="nomville"><div align="left"><?php echo $row_rsLivre['prenom']; ?> <?php echo $row_rsLivre['nom']; ?> - <?php echo $row_rsLivre['codep']; ?> <?php echo $row_rsLivre['pays']; ?></div></td>
      </tr>
      <tr>
        <td class="messages"><div align="left"> <?php echo $row_rsLivre['message']; ?></div></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
      <?php } while ($row_rsLivre = mysql_fetch_assoc($rsLivre)); ?>
  </table>
</div>

<div id="bandeau">
  <div><img src="bandeau_livre.jpg" width="786" height="720" /></div>
</div>
<div class="resultat" id="resultats"> 
  <p>Enregistrements <?php echo ($startRow_rsLivre + 1) ?> &agrave; <?php echo min($startRow_rsLivre + $maxRows_rsLivre, $totalRows_rsLivre) ?> sur <?php echo $totalRows_rsLivre ?>&nbsp; </p>
  <table border="0" width="30%" align="center">
    <tr>
      <td width="23%" align="center"><?php if ($pageNum_rsLivre > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_rsLivre=%d%s", $currentPage, 0, $queryString_rsLivre); ?>"><img src="First.gif" alt="rty" border="0" /></a>
          <?php } // Show if not first page ?>
      </td>
      <td width="31%" align="center"><?php if ($pageNum_rsLivre > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_rsLivre=%d%s", $currentPage, max(0, $pageNum_rsLivre - 1), $queryString_rsLivre); ?>"><img src="Previous.gif" alt="rty" border="0" /></a>
          <?php } // Show if not first page ?>
      </td>
      <td width="23%" align="center"><?php if ($pageNum_rsLivre < $totalPages_rsLivre) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_rsLivre=%d%s", $currentPage, min($totalPages_rsLivre, $pageNum_rsLivre + 1), $queryString_rsLivre); ?>"><img src="Next.gif" alt="ry" border="0" /></a>
          <?php } // Show if not last page ?>
      </td>
      <td width="23%" align="center"><?php if ($pageNum_rsLivre < $totalPages_rsLivre) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_rsLivre=%d%s", $currentPage, $totalPages_rsLivre, $queryString_rsLivre); ?>"><img src="Last.gif" alt="tyr" border="0" /></a>
          <?php } // Show if not last page ?>
      </td>
    </tr>
  </table>
  </p>
</div>
<div class="nunmessage" id="nummessages"><?php echo $totalRows_rsLivre ?></div>
<div class="filet"></div>

<p>&nbsp;</p>
<div class="mentions" id="mentions">
  <p align="center">Le th&eacute;&acirc;tre de l'Equinoxe se r&eacute;serve le droit de publier
    ou non les messages d&eacute;pos&eacute;s dans ce livre d'or.</p>
  <p align="center">Vous disposez, d'un droit d'acc&egrave;s, de modification, de rectification
    et de suppression des donn&eacute;es qui vous concernent <br />
    (art.34 de la loi &quot;Informatique et Libert&eacute;s). Pour l'exercer,
    adressez-vous au Th&eacute;&acirc;tre de l'Equinoxe - 6, rue Georges Marie
    - 92 130 Issy-les-Moulineaux.</p>
</div>
<p>&nbsp;</p>
<div class="filet" id="filetbas"><img src="pointilles.gif" width="760" height="2" /></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($rsLivre);
?>


Merci pour votre aide car je tourne vraiment en rond sur ce pb, Smiley confused et mon client aimerait bien que son livre d'or fontionne.... Smiley confus
Salut,

va voir ce qu'il y a dans

<?php require_once('Connections/connexionMysql.php'); ?>


pas la peine de nous le dire c'est ton secret. mais bien evidemment les valeurs que tu emploies en local ne peuvent ( trés trés probablement ) pas être les mêmes que chez ton hebergeur. celui-ci a dut te donner des données pour te connecter. ou dispose d'une page qui dit comment le deduire de tes login mot de passe chez eux. ta besoin du login du mdp mais aussi du nom de leur serveur de BDD et eventuellement de la base de données qui t'es attribué.

voilà je pense a un problème de ce genre en premier lieu. aprés si c'est pas çà faudra creuser ailleurs. peut-être du coter des socket...

pascal
Modifié par CPascal (10 May 2007 - 01:15)
oui effectivement, je vais "creuser" du côté de mon hébergeur... enfin c'est pas gagné lol !
En tout cas, merci Pascal Smiley smile
Si d'autres personnes ont des "tuyaux", n'hésitez pas, je suis preneuse !