Bonsoir,

j'ai développé il y a 2 ans un site qui marchait bien jusqu'ici, lequel était hébergé sur un mutu OVH. J'ai déplacé le site sur mon serveur dédier (tjs ovh) qui tourne sous ISPconfig 3.0.5.3.

C'est la que les problèmes commencent, le site intègre un système d'actualités, tout ce qu'il y a de plus simple, un champ titre, un champ description et la possibilité d'ajouter une image.

la connexion avec la base est bonne, puisque j'ai un tableau de tarifs que j'arrive à mettre à jour et que je consulte sans problèmes. pour ce qui est des fameuses actualités, si je rentre une actu bidon avec un titre "test" et une description bidon également "test" voir plein de mots sur plusieurs lignes, l'actu s'enregistre bien et est consultable, si je rentre une actu valable avec du vrai texte, le script s’exécute normalement sans message d'erreur mais l'actu ne s'enregistre pas, et si j'active "error_reporting(E_ALL);" je n'ai toujours pas de signe d'erreur.

vous pouvez consulter à cette adresse la configuration php du serveur, que j'ai d'ailleurs incriminé au début mais qui ne change rien si je passe sur php 4.4.9
http://www.saint-malo-hebergement.com/info.php

Voici le code qui permet d'enregistrer les actus sur la base.

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
 
<?php 
	  //error_reporting(E_ALL);
		include("fonctions/login.php");
		include("fonctions/fonction_admin.php");	
		out();
		connecter();
		$dcreation= time();
 
 
//initialisation de la fonction image_resize
 
function image_resize( $img  ,$dir ,$largeur, $hauteur )
{
$size = GetImageSize($dir."".$img."");
 
$src_largeur = $size[ 0 ] ;
$src_hauteur = $size[ 1 ] ;
 
$largeurmax = $largeur ;
$hauteurmax = $hauteur ;
 
// Conservation des proportions
 
$r1=$src_largeur/$largeurmax; //rapport largeur/largeur vignette
$r2=$src_hauteur/$hauteurmax; //rapport hauteur/hauteur/vignette
 
if    ( $r1 > $r2 )
    $hauteurmax = $src_hauteur/$r1 ;
elseif( $r1 < $r2 )
  $largeurmax = $src_largeur/$r2 ;
 
 
// Crée une image vierge aux bonnes dimensions
$dst_im = ImageCreateTrueColor( $largeurmax  ,$hauteurmax ) ;
imageinterlace ( $dst_im , 1 ) ;
 
// Copie dedans l'image initiale redimensionnée
$src_im = ImageCreateFromJpeg( $dir."".$img."" ) ;
ImageCopyResampled ($dst_im , $src_im , 0 , 0 , 0 , 0 , $largeurmax , $hauteurmax , $src_largeur , $src_hauteur ) ;
 
// Sauve la nouvelle image
$img_dest = $dir."/".$img."" ;
ImageJpeg( $dst_im , $img_dest , 70 ) ;
 
// Détruit les tampons
ImageDestroy( $dst_im ) ;
ImageDestroy( $src_im ) ;
 
}			
 
	// On vérifie l'existance des POST
	if(isset($_POST['type']))
	{
 
	     $tmp_file = $_FILES['fichier']['tmp_name'];
 
       // Verification de la reception de l'image 
        if( !is_uploaded_file($tmp_file) )
 
                  // si il n'y a pas d'image on continue et on enregistre quand meme le titre et le texte
 
                  {
                  $id= 			        urldecode($_POST['id']);
        		  $titre= 	            urldecode($_POST['titre']);
        		  $contenu=			    urldecode($_POST['contenu']);
 
        	        // On vérifie le type de requete INSERT ou UPDATE (contenu dans la var $type)		
        		      if($type=='insert')
        		      {
        			    mysql_query("INSERT INTO `news` (
                          `id` ,
                          `titre` ,
                          `contenu` ,
                          `image` ,
                          `nom_image` ,
                          `timestamp`)
                  VALUES ('$id', '$titre', '$contenu', '', '', '$dcreation');");
 
        			    header('Location: gestion_actu.php');
                  exit();
        			    }
        	        // On vérifie le type de requete INSERT ou UPDATE (contenu dans la var $type)					
        			    elseif($type=='update')
        			    {	
        				  mysql_query("UPDATE `news` SET 
        							`titre` = '$titre',
        							`contenu` = '$contenu',
                      `timestamp` ='$dcreation'
                      WHERE id='$id';");
 
        	        // Tout est OK: On fait une redirection.				
        			    header('Location: gestion_actu.php');
                  exit();	
        				  }
        	        // ERREUR - on affiche au moins un message d'erreur				
        				  else
        				  {
                  echo 'Problème! <br/> <a href="admin.php">Retour</a>';
                  }
                  }
                  // fin sans image         
 
       //enregistrement de la news avec image s'il y en a une
 
       // On copie le fichier dans le dossier de destination
        $name_file  = urldecode(strtolower( $_FILES['fichier']['name'] )) ; //decode + enleve majuscule
        $name_file1  = str_replace(' ','',$name_file);                       //enleve les espace pour éviter les erreurs 
        $name_file2 = './img_news/'.$name_file1 ;                        //chemin relatif de l'image
 
       // Verification fichier déplacé
       if( !move_uploaded_file( $tmp_file , $name_file2 ) )
       {
       exit( utf8_decode('- Erreur Impossible de copier le fichier: '.$name_file2 )) ;
       }
 
       chmod("./img_news/$name_file1", 0755);                   //on récupère les droits d'acces au fichier
       image_resize( $name_file1,'./img_news/',250,250);        //on redimenssionne notre image
 
       $image = '<img src="./img_news/'.$name_file1.'" alt="image" />'; //création de la balise image pour ne pas avoir d'erreur a l'affichage s'il n'y a pas d'image
 
		   $id= 			            urldecode($_POST['id']);
		   $titre= 	            urldecode($_POST['titre']);
		   $contenu=			        urldecode($_POST['contenu']);
 
	     // On vérifie le type de requete INSERT ou UPDATE (contenu dans la var $type)		
		   if($type=='insert')
		   {
			 mysql_query("INSERT INTO `news` (
                  `id` ,
                  `titre` ,
                  `contenu` ,
                  `image` ,
                  `nom_image` ,
                  `timestamp`)
       VALUES ('$id', '$titre', '$contenu', '$image', '$name_file1', '$dcreation');");
 
			 //header('Location: admin.php');
			 header('Location: gestion_actu.php');
       exit();
			 }
	     // si ce n'est pas une nouvelle news, on la met à jour					
			 elseif($type=='update')
			 {
		       // on récupère le nom de l'image précédente et on la supprime du serveur.
		       $f = mysql_query("SELECT * FROM `news` WHERE `id`= '$id' ");
		          while($ar = mysql_fetch_array($f))
		            { 
		            	if($ar['image']<>""){
		              unlink("./img_news/".$ar['nom_image']."");}
		            }
 
		       //mise à jour de la news avec la nouvelle image	
					 mysql_query("UPDATE `news` SET 
									`titre` = '$titre',
									`contenu` = '$contenu',
									`image` = '$image',
									`nom_image` = '$name_file1',
		              `timestamp` ='$dcreation'
		              WHERE id='$id';");
 
			     // Tout est OK: On fait une redirection.				
					 header('Location: gestion_actu.php');
 
		       exit();	
					 }
			     // ERREUR - on affiche au moins un message d'erreur				
					 else
					 {
		       echo 'Problème! <br/> <a href="admin.php">Retour</a>';
		       }
 
 
	}
?>
La version de la base MySQL est 5.1.72-2

Si quelqu'un d'entre vous à une idée du problème je suis plus que preneur, car je tourne en rond et j'ai essayè pas mal de trucs depuis plusieurs semaines maintenant.

Merci d'avance.