Jump to content

Compatibilité script php 1.4 > 1.5


Recommended Posts

Bonjour, j'essaye d'aider un ami à remettre sa boutique en ligne suite au mauvais coup d'un prestataire indélicat, tout va bien jusqu'ici, j'ai même pu mettre à jour de la version 1.4 à la dernière 1.5 et tout est en ordre y compris le thème mais j'ai un soucis avec un script PHP qui ne fonctionne plus, quelqu'un aurait t-il une idée ? Cela semble être un problème de version mais je sèche ...

 

La liste déroulante fait appel aux produits sélectionnés, je confirme que cela fonctionne dans la version 1.4.8.2, l'erreur renvoyée est "No database selected" pourtant le reste du site s'affiche, menus, modules etc..

 

Le code :

 

<?php 
$useSSL = true; include(dirname(__FILE__).'/config/config.inc.php'); 
include(dirname(__FILE__).'/header.php'); 
$errors = array(); 
?>
 
<script type="text/javascript" language="javascript">
function twAller(_url,_cadre,_target) {
  if (_cadre) {
    parent._cadre.location.href = _url;
  } else if (_target) {
    _target = window.open(_url,_target);
  } else {
    window.location.href = _url;
  }
}
//-->
</script>
 
<?php
 extract($_GET); extract($_POST);
 
// on check que tous est bien rempli
if(isset($valider) && $valider == 'valider' && !empty($nom) && !empty($prenom) && !empty($adresse) && !empty($cp) && !empty($ville) && filter_var($email, FILTER_VALIDATE_EMAIL))
{
 
//$to : MAIL DESTINATAIRE DU FORMULAIRE DE CONTACT
//$subject : CONTIENT LE SUJET DU MAIL
$subject = 'Essai';
//$no_reply : CONTIENT L ADRESSE MAIL DE L ENVOYEUR DU MAIL
$no_reply = '[email protected]';
 
$id_product = $_GET['id_product'];
$req_nom_product = "SELECT name FROM ps_product_lang WHERE id_product = '$id_product'";
$res_nom_product = mysql_query($req_nom_product) or die(mysql_error());
    $row_nom_product = mysql_fetch_object($res_nom_product);
 
if(!empty($dim_cable)) { $dim_cable = "<u><b>Longueur du cable</b></u> : ".$dim_cable."<br />"; }
if(!empty($eclairage)) { $eclairage = "<u><b>Eclairage</b></u> : ".$eclairage."<br />"; }
if(!empty($tissus)) { $tissus = "<u><b>Tissus</b></u> : ".$tissus."<br />"; }
if(!empty($vernis)) { $vernis = "<u><b>Vernis</b></u> : ".$vernis."<br />"; }
 
    if(!empty($hauteur) || !empty($largeur) || !empty($profondeur) || !empty($longueur)) { $dimension = "<br />Dimensions :<br />"; }
if(!empty($hauteur)) { $hauteur = "<u><b>Hauteur</b></u> : ".$hauteur."<br />"; }
if(!empty($largeur)) { $largeur = "<u><b>Largeur</b></u> : ".$largeur."<br />"; }
if(!empty($profondeur)) { $profondeur = "<u><b>Profondeur</b></u> : ".$profondeur."<br />"; }
if(!empty($longueur)) { $longueur = "<u><b>Longueur</b></u> : ".$longueur."<br />"; }
 
if(!empty($installation)) { $installation = "<br /><u><b>Installation</b></u> : ".$installation."<br />"; }
if(!empty($commentaire)) { $commentaire = "<u><b>Commentaire</b></u> : ".$commentaire."<br />"; }
 
//$message : CONTIENT LE MESSAGE DU MAIL
    $message = "
    Affichage du contact :<br /><br />
    Nom :  $nom<br />
    Prénom : $prenom<br />
    Adresse : $adresse<br />
    CP : $cp<br />
    Ville : $ville<br />
    Email : $email<br />
    Tél. : $tel<br /><br /><br />
    Affichage des variables récupérées :<br /><br />
    <b><u>Nom du produit</u></b> : $row_nom_product->name<br /><br />
    $dim_cable
    $eclairage
    $tissus
$vernis
$dimension
    $hauteur
    $largeur
    $profondeur
    $longueur
    $installation
$commentaire";
 
$headers ='From: '. $_POST ."\n";
Link to comment
Share on other sites

Bonjour,

 

Le message d'erreur me semble clair "no database selected".
Dans ce script vous utilisez des commandes du type mysql_query, cependant je ne vois aucun code mysql_connect ou mysql_select_db pour se connecter à la base et la sélectionner.
Sont-t-elles dans un autre fichier ?
Pourquoi ne pas utiliser les méthodes prestashop standards ( classe Db ) ?

Link to comment
Share on other sites

Bonjour,

 

Le message d'erreur me semble clair "no database selected".

Dans ce script vous utilisez des commandes du type mysql_query, cependant je ne vois aucun code mysql_connect ou mysql_select_db pour se connecter à la base et la sélectionner.

Sont-t-elles dans un autre fichier ?

Pourquoi ne pas utiliser les méthodes prestashop standards ( classe Db ) ?

Merci de votre réponse ! Le soucis c'est que je n'ai rien changé entre le passage à la version 1.4 vers 1.5. Ce n'est pas moi qui ai écrit ce script. Comme vous pouvez le voir à cette adresse :

http://78.208.165.86/ondeline/surmesure_artenbois.php

cela fonctionne parfaitement sur la version 1.4.

 

Mais plus sur la version 1.5 qui se trouve là :

http://78.208.165.86/www/surmesure_artenbois.php

 

encore une fois je n'ai rien changé au script ci-dessus ... Une idée ?

PS: ne tenez pas compte du thème, j'ai volontairement mis celui par défaut pour m'assurer que cela ne venait pas de là.

Link to comment
Share on other sites

En soi ce n'est pas le script qui pose problème, mais le fait qu'il ne parvienne pas à se connecter à la base de données.
Sinon essayez de rajouter le code ci-dessous en début de page pour vous connecter à la base de données.

<?php

$db = mysql_connect(_DB_SERVER_,_DB_USER_,_DB_PASSWD_);

if ( $db )
   mysql_select_db(_DB_NAME_) or die ("Impossible de sélectionner la Bdd ".mysql_error());
else
  die("Connexion impossible à la bdd ".mysql_error());

?>
Edited by herve25 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...