IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

script php4.4.9 faire fonctionner chez 1and1


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut script php4.4.9 faire fonctionner chez 1and1
    bonjour,
    j'ai un problème, je cherche à faire fonctionner mon gros script en PHP 4.4.9 sur 1and1 qui propose php5.5 et +, serveur mutualisé.

    Mon site est fonctionnel chez un hébergeur depuis des années et je cherche a changer d’hébergeur.

    est ce que j'ai une chance de trouver une solution ?
    avez vous une/des idées ?

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Je suis chez 1&1. J'ai dû passer de PHP 4.x à PHP 5.4 puis à PHP 7. Ils proposaient (à l'époque - c-à-d il y a 5 ou 6 ans) de continuer avec PHP 4 moyennant 4 ou 5€ de plus par mois. Ne voulant pas dépenser plus, je suis passé à PHP 5.4 mais j'ai dû reprendre certains scripts qui utilisaient des fonctions obsolètes ou supprimées comme certaines fonctions d'expressions régulières et j'en passe. Puis une paire d'années plus tard ils m'ont fait la même histoire pour passer de PHP 5.4 à PHP 7. Là j'ai dû réécrire les fonctions mysql en mysqli. Sinon je n'ai pas à me plaindre du service.
    Donc pour toi, ça va être coton car ils ne supporteront pas PHP 5 éternellement. Un conseil installe toi PHP 7 et reprend tes scripts pour les adapter à cette nouvelle version car dans tous les cas tu devras les reprendre.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut .
    j'ai eu le service tech. de 1and1 est franchement 1/10
    il m'a répondu comme un bon commercial...
    ( on propose version 5.5 et +, sinon voir avec un autre hébergeur...)

    je suis dégouté !!!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    php4.4.9... un peu de sérieux...
    Ce n'est pas 1&1 qui est en cause.

    Et je doute que le PHP soit le seul à être obsolète.
    Je suis curieux de voir le code HTML...
    • Mise en page avec des <table>, des <frameset> ?
    • Balises,attributs,... obsolètes ?
    • ...

    Bref, il serait temps de se retrousser les manches...

  5. #5
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut
    http://www.venteavous.com/index.php
    je suis dessus a modifier comme un con...
    Avoir le choix de choisir de php, c bien ;-)

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Quand j'ai dû passer de mysql à mysqli j'ai eu un grand moment de solitude. Mon site est un site perso et compte pas mal de scripts dans la partie administration. Je n'avais pas le temps (ni spécialement envie) de tous les reprendre. Donc je me suis créé un script à inclure qui met les fonctions mysql que j'utilisais à la sauce mysqli sans avoir à modifier la liste des paramètres.

    J'ai un fichier (voir le code plus bas) qui est inclus au début de chaque script nécessitant un accès à la BDD. J'ai simplement fait un include de mon nouveau fichier mis en commentaire les anciennes fonctions de connexion et de sélection de la BDD. Bien entendu, auparavant j'avais remplacé dans mon fichier toutes les fonctions mysql* décrites dans le nouveau fichier en x_mysql*.
    Ca vaut ce que ça vaut, mais pour moi ça marche.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
      //----------------- Connexion à la base de données
      include_once('classDB.inc'); 
      //$link = mysql_connect(MYSQL_SERVER_NAME, MYSQL_USER_NAME, MYSQL_USER_PASSWORD) or die ("Impossible de se connecter à mySQL"); 
      //mysql_select_db (DATABASE_NAME) or die ("Impossible d'accéder à la base de données");
    ?>
    les constantes sont dans un fichier à part qui est inclus avant celui de la connexion à la BDD.


    https://www.developpez.net/forums/d1...-mysql-mysqli/
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  7. #7
    Invité
    Invité(e)
    Par défaut
    @badaze,
    jusqu'ici, c'est laurentSc que j'appelais "franckensteinSc" : avec des bouts de code, il en fait un monstre !...
    Mais je vois que tu cherches aussi à revendiquer ce titre ! *

    * Même si l'astuce est intéressante.

    @pierre987321
    Tu fais penser à quelqu'un qui reproche à son garagiste de ne pas avoir les pièces pour réparer sa charrette, ni le foin pour ses chevaux !

    Quand on regarde ton site (qui date de 2010), on voit qu'il a pris un gros coup de vieux... (ce qui est normal en 7 ans).
    Et niveau code HTML, ça craint du boudin :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
    ...
    <SCRIPT LANGUAGE="JavaScript">
    ...
    Et des <table> pour faire la mise en page, j'en passe et des pires.

    Bref : au bout de 7 ans de bons et loyaux services, il serait temps de mettre ce code à la retraite et de le remplacer par un plus jeune !
    Il faut vivre avec son temps.

    Au fait, tu sais qu'on n'utilise plus le Minitel... ni les francs ?

    N.B. Moi aussi, j'ai dû (comme beaucoup !!!) modifier tous mes scripts.
    Par contre, je suis passé directement à PDO.
    Ça a été fastidieux et long, mais aujourd'hui, mes scripts ne sont pas des moutons à 5 pattes...
    Dernière modification par Invité ; 23/12/2017 à 12h07.

  8. #8
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    @badaze,
    jusqu'ici, c'est laurentSc que j'appelais "franckensteinSc" : avec des bouts de code, il en fait un monstre !...
    Mais je vois que tu cherches aussi à revendiquer ce titre ! *

    * Même si l'astuce est intéressante.

    ...
    Ben non. Je ne vois pas en quoi c'est monstrueux. Au final je suis à iso fonctionnalités. Je dirais même deux choses :
    1 - si j'étais passé directement de php 4.x à php 7 sans passer par php 5.x j'aurais pu m'éviter de renommer les fonctions en x_mysql_ puisque qu'en version 7 les fonctions mysql_ n'existent plus. Il m'aurait suffit de réécrire les fonctions mysql_ pour que tout fonctionne sans rien avoir à toucher dans les autres scripts.

    2 - (qui découle du 1) que si un jour mysqli n'est plus supporté je n'aurai qu'à réécrire les 5 ou 6 fonctions que j'utilise (et à la réflexion je pourrais même tout de suite remplacer les fonctions mysqli par les fonctions PDO) !!! Je suis donc arrivé à un certain niveau d'abstraction sans m'en rendre compte .

    Mon code est aussi sécurisé qu'avant. Je filtrais/filtre tous les paramètres passés aux requêtes pour qu'ils respectent strictement le format des valeurs que j'attends. Par exemple, je n'ai aucun paramètre du type id=une_valeur, je n'ai que des url réécrites selon un format bien particulier qui fait que du côté injection sql je suis paré.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  9. #9
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut petite question
    salut,
    merci pour vos remarques que je prend avec ouverture d’esprit.
    j'ai changé mon code de php4.4.9 à php5.5 (php7 pour prochaine mise a jour),
    il me reste juste une petite partie ou il y a une erreur que je détecte pas...

    y a t'il une personne qui peux y donner une petit visu ???

    message :
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL
    server version for the right syntax to use near '?GP_upload=true' at line 1



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
     
    <?php 
    	if(isset($_POST['mode']) && $_POST['mode']=="GO"){
    		mysql_select_db($database_classifieds, $classifieds);
    				$productid=@$_REQUEST['productid'];
    				$lid=@$_REQUEST['listingid'];
    				$sSQL="SELECT * FROM cartproducts WHERE id= '$productid' AND images='Y'";
    				$result = mysql_query($sSQL, $classifieds) or die(mysql_error());
    				$rs = mysql_fetch_assoc($result);
    				$numphotos=$rs['numimages'];
    				mysql_free_result($result);
     
    		$sSQL="SELECT id,component,extensions,maxWidth,maxHeight,quality,maxWidthThumb,maxHeightThumb,qualityThumb FROM image_settings WHERE id=1";
    		$result = mysql_query($sSQL, $classifieds) or die(mysql_error());
    		$rs = mysql_fetch_array($result);
    			$component =$rs['component'];
    			$extensions	=$rs['extensions'];
    			$maxWidth =$rs['maxWidth'];
    			$maxHeight =$rs['maxHeight'];
    			$quality =$rs['quality'];
    			$maxWidthThumb =$rs['maxWidthThumb'];
    			$maxHeightThumb =$rs['maxHeightThumb'];
    			$qualityThumb =$rs['qualtityThumb'];
    		mysql_free_result($result);
     
    			// Pure PHP Upload 2.1.2
    		if (isset($GET['GP_upload'])) {//$HTTP_GET_VARS
    			$ppu = new pureFileUpload();
    			$ppu->path = "photos";
    			$ppu->extensions = $extensions;
    			$ppu->formName = "imageupload";
    			$ppu->storeType = "file";
    			$ppu->sizeLimit = "";
    			$ppu->nameConflict = "uniq";
    			$ppu->requireUpload = "true";
    			$ppu->minWidth = "";
    			$ppu->minHeight = "";
    			$ppu->maxWidth = "";
    			$ppu->maxHeight = "";
    			$ppu->saveWidth = "";
    			$ppu->saveHeight = "";
    			$ppu->timeout = "600";
    			$ppu->progressBar = "fileCopyProgress.php";
    			$ppu->progressWidth = "300";
    			$ppu->progressHeight = "100";
    			$ppu->checkVersion("2.1.2");
    			$ppu->doUpload();
    		}
    		$GP_uploadAction = $SERVER['PHP_SELF'];//$HTTP_SERVER_VARS
    		if (isset($SERVER['QUERY_STRING'])) {//$HTTP_SERVER_VARS
    		  if (preg_match("GP_upload=true", $SERVER['QUERY_STRING'])) {//$HTTP_SERVER_VARS      !eregi
    				$GP_uploadAction .= "?".$SERVER['QUERY_STRING']."&GP_upload=true";//$HTTP_SERVER_VARS
    			} else {
    				$GP_uploadAction .= "?".$SERVER['QUERY_STRING'];//$HTTP_SERVER_VARS
    			}
    		} else {
    		  $GP_uploadAction .= "?"."GP_upload=true";
    		}
     
    		// Smart Image Processor 1.0.3
    		if (isset($GET['GP_upload'])) {//$HTTP_GET_VARS
    		  $sip = new resizeUploadedFiles($ppu);
    		  $sip->component = $component;
    		  $sip->resizeImages = "true";
    		  $sip->aspectImages = "true";
    		  $sip->maxWidth = $maxWidth;
    		  $sip->maxHeight = $maxHeight;
    		  $sip->quality = $quality;
    		  $sip->makeThumb = "true";
    		  $sip->pathThumb = "thumbs";
    		  $sip->aspectThumb = "true";
    		  $sip->naming = "prefix";
    		  $sip->suffix = "small_";
    		  $sip->maxWidthThumb = $maxWidthThumb;
    		  $sip->maxHeightThumb = $maxHeightThumb;
    		  $sip->qualityThumb = $qualityThumb;
    		  $sip->checkVersion("1.0.3");
    		  $sip->doResize();
     
    			function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    				{
    				  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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;
    				}
     
    			if ((isset($POST["MM_insert"])) && ($POST["MM_insert"] == "imageupload")) {//$HTTP_POST_VARS
    			  $insertSQL = sprintf("INSERT INTO prodimages (pid, title, image) VALUES (%s, %s, %s)",
    								   GetSQLValueString($POST['listingid'], "text"),//$HTTP_POST_VARS
    								   GetSQLValueString($POST['title'], "text"),//$HTTP_POST_VARS
    								   GetSQLValueString($POST['imagename'], "text"));//$HTTP_POST_VARS
     
    			  mysql_select_db($database_classifieds, $classifieds);
    			  $Result1 = mysql_query($insertSQL, $classifieds) or die(mysql_error());
     
    			  $insertGoTo = "updatesuccess.php?refer=adminaddimages.php?id=$_GET[id]";
    			  if (isset($_SERVER['QUERY_STRING'])) {
    				$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    				$insertGoTo .= $_SERVER['QUERY_STRING'];
    			  }
    			 // header(sprintf("Location: %s", $insertGoTo));
    			}
    			}
    }
    	$productid=@$_REQUEST['productid'];
    	$lid=@$_REQUEST['lid'];
    	$sSQL="SELECT * FROM cartproducts WHERE id= '$productid' AND images='Y'";
    	$result = mysql_query($sSQL, $classifieds) or die(mysql_error());
    	$rs = mysql_fetch_assoc($result);
    	$numphotos=$rs['numimages'];
     
    			$sSQL = "SELECT * FROM products WHERE id = '$_GET[id]'";
    			$result = mysql_query($sSQL, $classifieds) or die(mysql_error());
    			$rs = mysql_fetch_array($result);
    			$prod = $rs[prodID];
    			mysql_free_result($result);
     
    			$sSQL="SELECT * FROM prodimages WHERE pid=$lid";
    				$result = mysql_query($sSQL, $classifieds) or die(mysql_error());
    				$upphotos=mysql_num_rows($result);
     
    		  $editFormAction = $_SERVER['PHP_SELF'];
    			if (isset($_SERVER['QUERY_STRING'])) {
    			  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    			}
     
    			if (isset($editFormAction)) {
    			  if (isset($SERVER['QUERY_STRING'])) {//$HTTP_SERVER_VARS
    				  if (preg_match("GP_upload=true", $SERVER['QUERY_STRING'])) {//$HTTP_SERVER_VARS     !eregi
    				  $editFormAction .= "&GP_upload=true";
    					}
    			  } else {
    				$editFormAction .= '?GP_upload=true';
    			  }
    			}
     
    	if ($upphotos < $numphotos) {
    		?>
    je suis preneur de toutes remarques...

  10. #10
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Et ça correspond à quelle ligne ?

    De plus tu ne protèges pas les paramètres que tu passes aux requêtes.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  11. #11
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut
    c bon,
    problème de '_'
    comme quoi, faut bien regarder

  12. #12
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Comment as tu modifié ton code ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  13. #13
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par pierre987321 Voir le message
    Avoir le choix de choisir de php, c bien ;-)
    Non ce n'est pas bien.
    PHP 4.4 c'est 2005 soit bientôt 13 ans.

    Entre php 4.4 et 7 il y'a du avoir quelques milliers de bugs corrigés et plus important quelques milliers de failles de sécurité.

    C'est pour ces même raisons que les hébergeurs imposent de monter en version car garder une version de PHP obsolète les empêche d'avoir des systèmes à jour et sécurisés.

    Ca t’embête de devoir mettre à jour ton code mais ça t’embêterais encore plus de voir ton site pirater car ton serveur est plein de faille alors que ton code lui est sécurisé.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment faire fonctionner ce script sous Matlab R2007b
    Par houssamonline dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/12/2012, 10h14
  2. Comment faire fonctionner ce script dans mon site ?
    Par beegees dans le forum jQuery
    Réponses: 4
    Dernier message: 02/01/2010, 23h01
  3. Réponses: 15
    Dernier message: 27/04/2009, 10h08
  4. pb pour faire fonctionner un script
    Par developman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2006, 14h30
  5. Besoin d'aide pour faire fonctionner un Script d'upload d'images
    Par PaoOo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 15/06/2006, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo