probleme de mise en ligne

esteban
Invité n'ayant pas de compte PHPfrance

05 août 2008, 12:46

Bonjour

J'ai créé un site sur Dreamweaver en php faisant appel à une base de données. En localhost, il fonctionne très bien. J'ai installé sur mon ordinateur la suite Wampserver. Cependant lorsque je le mets en ligne, tout capote notamment dans l'ajout de nouvelles informations dans ma base de données. Pourriez vous m'aider SVP ?

Le message d'erreur est le suivant
Fatal error: Cannot use string offset as an array in D:\www\lespetitsdebrouillardsmidipyrenees.com\htdocs\adminevenementajout.php on line 93

le code de ma page est le suivant :

Code : Tout sélectionner

<?php require_once('Connections/petitsdebs.php'); ?> <?php //initialize the session if (!isset($_SESSION)) { session_start(); } // ** Logout the current user. ** $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); $logoutGoTo = "login.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; } } ?> <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = "admin"; $MM_donotCheckaccess = "false"; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && false) { $isValid = true; } } return $isValid; } $MM_restrictGoTo = "login.php"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) $MM_referrer .= "?" . $QUERY_STRING; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit; } ?> <?php //init des variables if(!isset($_POST['nom'])) $nom=""; else $nom=$_POST['nom']; if(!isset($_POST['ID'])) $ID=""; else $ID=$_POST['ID']; if(!isset($_POST['date'])) $date=""; else $date=$_POST['date']; if(!isset($_POST['description'])) $description=""; else $description=$_POST['description']; if(!isset($_POST['ptedescription'])) $ptedescription=""; else $ptedescription=$_POST['ptedescription']; if(!isset($_POST['datereelle'])) $datereelle=""; else $datereelle=$_POST['datereelle']; if(!isset($_POST['type'])) $type=""; else $type=$_POST['type']; if(!isset($_POST['lieu'])) $lieu=""; else $lieu=$_POST['lieu']; if(!isset($_POST['lien'])) $lien=""; else $lien=$_POST['lien']; if(!isset($_POST['ajout'])) $ajout=""; else $ajout=$_POST['ajout']; if(!isset($_FILES['image'])) $image['image']=array('name'=>'','size'=>0); else $image['image']=$_FILES['image']; if(!isset($_FILES['document'])) $document['document']=array('name'=>'','size'=>0); else $document['document']=$_FILES['document']; ?> <?php if ($ajout=="ok") { if ($image['image']['size']!=0) $image_name=$_FILES['image']['name']; if ($document['document']['size']!=0) $document_name=$_FILES['document']['name']; mysql_select_db($database_petitsdebs, $petitsdebs); $updateActivites = "INSERT INTO activites (ID, nom, date, datereelle, description, ptedescription, type, lieu, lien, document, image) VALUES ('$ID', '$nom', '$date', '$datereelle', '$description', '$ptedescription', '$type', '$lieu', '$lien', '$document_name', '$image_name')"; mysql_query($updateActivites, $petitsdebs) or die(mysql_error()); if ($image['image']['size']!=0) { $repertoire="images/activites/"; move_uploaded_file($_FILES['image']['tmp_name'],$repertoire.$_FILES['image']['name']); } if ($document['document']['size']!=0) { $repertoire="documents/"; move_uploaded_file($_FILES['document']['tmp_name'],$repertoire.$_FILES['document']['name']); } //----Redirection vers l'écran de Gestion des articles header("Location: adminevenement.php"); } ?> <!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>Les Petits D&eacute;brouillards Midi Pyr&eacute;n&eacute;es, la science en s'amusant</title> <META HTTP-EQUIV="Content-Language" content="fr"> <META NAME="DESCRIPTION" CONTENT="Les Petits Débrouillards font découvrir les sciences depuis plus de 20 ans, a travers des expériences simples et ludiques. Pour découvrir les sciences en s'amusant, c'est avec les Petits Débrouillards"> <META NAME="KEYWORDS" CONTENT="science, animation, loisir, jeune, enfant, Petits debrouillards, débouillards, toulouse, midi, pyrenees, pyrénées, midi-pyrénees, éducation, culture, exposition, museum, école, pédagogie "> <META NAME="REVISIT-AFTER" CONTENT="15 days"> <META NAME="ROBOTS" CONTENT="index, follow, all"> <META HTTP-EQUIV="imagetoolbar" CONTENT="no"> <LINK REL="SHORTCUT ICON" href=""> <style type="text/css"> <!-- body { background-color: #FFFFFF; } body,td,th { font-family: Geneva, Arial, Helvetica, sans-serif; color: #006172; } .Style3 {font-size: 12px} a { font-family: Geneva, Arial, Helvetica, sans-serif; color: #006172; } a:visited { color: #006172; } a:hover { color: #006172; } a:active { color: #006172; } .Style4 { font-size: 18px; font-weight: bold; } --> </style></head> <body> <table width="800" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" > <!--DWLayoutTable--> <tr> <td width="800" height="231" valign="top"><a href="<?php echo $logoutAction ?>"><img src="images/adminbarredenavigation.jpg" width="800" height="231" border="0" usemap="#Map" /></a></td> </tr> <tr> <td height="420" valign="top"><form id="form1" name="form1" method="POST" enctype="multipart/form-data"> <p>&nbsp;</p> <p align="center" class="Style4">Ajout d'un nouvel &eacute;venement</p> <p class="Style3">Attention &agrave; ne pas utiliser les guillemets</p> <table width="800" height="390" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="238"><span class="Style3">Nom</span></td> <td width="562"><input name="nom" type="text" id="nom" size="100" /></td> </tr> <tr> <td><span class="Style3">Date de l'&eacute;venement :</span></td> <td><input name="date" type="text" id="date" size="100" /></td> </tr> <tr> <td><span class="Style3">Date de fin (forme aaaa-mm-jj):</span></td> <td><input name="datereelle" type="text" id="datereelle" /></td> </tr> <tr> <td><span class="Style3">Lieu :</span></td> <td><input name="lieu" type="text" id="lieu" size="100" /></td> </tr> <tr> <td><span class="Style3">Type d'&eacute;venement :</span></td> <td><p> <label></label> <select name="type" id="type"> <option value="Formation">Formation</option> <option value="Exposition">Exposition</option> <option value="Rencontres">Rencontres</option> <option value="Animation">Animation</option> <option value="Evenement">Evenement</option> <option value="Exposition">Exposition</option> </select> <br /> </p></td> </tr> <tr> <td><span class="Style3">Texte d'accroche :</span></td> <td><textarea name="ptedescription" cols="100" id="ptedescription"></textarea></td> </tr> <tr> <td><span class="Style3">Description :</span></td> <td><textarea name="description" cols="100" rows="8" id="description"></textarea></td> </tr> <tr> <td><span class="Style3">Image (max : 2Mo)</span></td> <td><input type="file" name="image" id="image" /></td> </tr> <tr> <td><span class="Style3">Document attach&eacute; (max : 2Mo)</span></td> <td><input type="file" name="document" id="document" /></td> </tr> <tr> <td><span class="Style3">Lien :</span></td> <td><input name="lien" type="text" id="lien" size="100" /></td> </tr> </table> <p align="center"> <input name="ajout" type="hidden" id="ajout" value="ok" /> <input type="submit" name="button" id="button" value="Ajouter" /> </p> <p>&nbsp;</p> </form> </td> </tr> </table> <map name="Map" id="Map"> <area shape="rect" coords="134,185,250,237" href="adminevenement.php" /> <area shape="rect" coords="253,174,357,231" href="adminexposition.php" /> </map></body> </html>

Mammouth du PHP | 1668 Messages

05 août 2008, 14:56

J'ai eu du mal, mais j'ai trouvé, il faut que tu te connecte au serveur SQL, avant de vouloir sélectionner une base de données : mysql_connect()
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

esteban
Invité n'ayant pas de compte PHPfrance

06 août 2008, 10:26

en fait, au debut de mon code, j'ai un code ù je fais appel à connection.php, dans lequel je fais ma connection à la base de données.
Ce que je ne sais pas c'est si le probleme ne vient pas de version de php, ou de configuration de php, comme les magic quote

esteban
Invité n'ayant pas de compte PHPfrance

06 août 2008, 10:31

Plus précisement le code bloque ici
if ($image['image']['size']!=0) $image_name=$_FILES['image']['name'];
S'agit il d'un probleme de tableau, je ne sais pas trop.
Je suis sur que mon fichier de conection à la base de données fonctionne puisque ma BDD n'étant pas vide, je peux visualer des résultats à l'intérieur via mon site...
Donc se pose le porblème et c'est mon premier site en php, donc il y a des trucs que je maitrise pas complétement....
Merci de votre aide