Modifs impossibles, insertion bien ?!? (easyphp 1.8-phpnuke)

Petit nouveau ! | 9 Messages

08 sept. 2005, 14:59

Bonjour à tous,

Je possède un site web (PHPNUKE) qui tournait depuis longtemps sous EasyPhP 1.6.

J'ai migré récemment de EasyPhp 1.6 vers 1.8. Après quelques soucis, le site refonctionne :P

Malheureusement, depuis la migration, je n'arrive plus à modifier aucun record via l'interface Admin du site. :shock: Par exemple un article, ou une page de contenu, un sondage, etc...
Je modifie, je sauve, et la modif ne s'enregistre pas...

Par contre :shock: : J'arrive à créer du nouveau contenu avec cette même interface !

Si je fais directement les modifs dans les tables avec PhPMyAdmin, au niveau serveur web (http://127.0.0.1/mysql/) dans la DB, pas de problèmes ... ????????????

Donc pour résumer, tous les records de la DB, créés en EasyPhp 1.6 ne sont plus modifiables, mais la DB tourne correctement, tant en consultation qu'en insertion...

Je pense que le problème vient de EasyPhp 1.8 ou d'une mauvaise config dans le fichier ini de ce dernier mais ... je ne trouve pas :evil:

Le site est : http://www.carapax.org si vous voulez tester...
Une idée ? :idea:

ViPHP
ViPHP | 2144 Messages

08 sept. 2005, 15:07

Sans voir le code, point de salut...

Petit nouveau ! | 9 Messages

08 sept. 2005, 15:13

Je veux bien t'envoyer un bout de code mais celà fonctionnait avec EasyPhP 1.6 ... ?

Bizarre non ?

Voici la page qui permettait de faire une modif (elle marche sous easyphp 1.6 sans modifier quoi que ce soit) :

NB : $Fiche = Valeur capturée par l'url de la page précédente.
<?php


// Déclaration des paramètres de connexion
$host = "localhost";  
$user = "root";
$bdd = "rc";
$passwd  = "**********";   
$table ="clients";
$URL = "/modules.php?name=Clients&file=edit";

// Connexion au serveur
mysql_connect($host, $user,$passwd) or die("Erreur de connexion au serveur");
mysql_select_db($bdd) or die("Erreur de connexion a la base de donnees");

// Requete permettant d'afficher les records
$query1 = "SELECT * FROM clients WHERE Numero=$Fiche";
$result1 = mysql_query($query1);


// Modification du record dans la DB	
if($modif) {  
   $table ="clients"; 
   $query = "UPDATE ".$table." SET Nom='".$MNom."', Prenom='".$MPrenom."', Societe='".$MSociete."', Tva='".$MTva."', Rc='".$MRc."', Adresse_fact='".$MAdresse_fact."', Cpostal_fact='".$MCpostal_fact."', Localite_fact='".$MLocalite_fact."', Adresse_livr='".$MAdresse_livr."', Cpostal_livr='".$MCpostal_livr."', Localite_livr='".$MLocalite_livr."', Tel='".$MTel."', Fax='".$MFax."', Gsm='".$MGsm."', Email='".$MEmail."', Msn='".$MMsn."', Materiel='".$MMateriel."'  WHERE Numero='".$MNumero."'";
   $result = mysql_query($query);
   die('<meta http-equiv="refresh" content="0; URL=/modules.php?name=Clients&file=view">');
}
   
 
// Affichage du formulaire à modifier
?>	   
<p align="center"><b><font size="6">Modification d'une fiche Client</font></b></p>
<br><br><br>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="81%" id="AutoNumber1">

<? while ($val = mysql_fetch_array($result1)) { ?>

<form method="post" action="<?echo $URL."&modif=ok"; ?>"> 
 <input type="text" name="MNumero" style="visibility: hidden" value="<?echo $Fiche;?>">
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Nom :</td>
    <td width="31%"><input type="text" name="MNom" value="<?echo $val["Nom"];?>"size="24">
    </td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Prénom :</td>
    <td width="31%"><input type="text" name="MPrenom" value="<?echo $val["Prenom"];?>" size="20"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Nom de la Société :</td>
    <td width="31%"><input type="text" name="MSociete" value="<?echo $val["Societe"];?>" size="24"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Numéro de Tva : </td>
    <td width="31%"><input type="text" name="MTva" value="<?echo $val["Tva"];?>" size="15"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Registre de Commerce :</td>
    <td width="31%"><input type="text" name="MRc" value="<?echo $val["Rc"];?>" size="15"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">&nbsp;</td>
    <td width="31%">&nbsp;</td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="127%" align="center" colspan="5"><u>Données relatives à la Facturation<br><br></u></td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Adresse :</td>
    <td width="31%"><input type="text" name="MAdresse_fact" value="<?echo $val["Adresse_fact"];?>"size="27"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Code Postal :</td>
    <td width="31%"><input type="text" name="MCpostal_fact" value="<?echo $val["Cpostal_fact"];?>" size="8"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Localité :</td>
    <td width="31%"><input type="text" name="MLocalite_fact" value="<?echo $val["Localite_fact"];?>" size="24"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">&nbsp;</td>
    <td width="31%">&nbsp;</td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="127%" align="right" colspan="5">
    <p align="center"><u>Données relatives à la Livraison<br><br></u></td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Adresse :</td>
    <td width="31%"><input type="text" name="MAdresse_livr" value="<?echo $val["Adresse_livr"];?>" size="27"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Code Postal :</td>
    <td width="31%"><input type="text" name="MCpostal_livr" value="<?echo $val["Cpostal_livr"];?>" size="8"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Localité :</td>
    <td width="31%"><input type="text" name="MLocalite_livr" value="<?echo $val["Localite_livr"];?>" size="24"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">&nbsp;</td>
    <td width="31%">&nbsp;</td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Téléphone :</td>
    <td width="31%"><input type="text" name="MTel" value="<?echo $val["Tel"];?>" size="16"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Fax :</td>
    <td width="31%"><input type="text" name="MFax" value="<?echo $val["Fax"];?>" size="16"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Gsm :</td>
    <td width="31%"><input type="text" name="MGsm" value="<?echo $val["Gsm"];?>" size="16"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%" align="right">&nbsp;</td>
    <td width="27%" align="right">
    <p align="left">Adresse eMail :</td>
    <td width="31%"><input type="text" name="MEmail" value="<?echo $val["Email"];?>" size="24"></td>
    <td width="42%">&nbsp;</td>
  </tr>
  <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Adresse Msn :</td>
    <td width="31%"><input type="text" name="MMsn" value="<?echo $val["Msn"];?>" size="24"></td>
    <td width="42%">&nbsp;</td>
  </tr>	  	
  
      <tr>
    <td width="25%" align="right">&nbsp;</td>
    <td width="2%">&nbsp;</td>
    <td width="27%">Description du matériel :</td>
    <td width="31%"><textarea name="MMateriel" rows=15 cols=100><?echo $val["Materiel"];?></textarea>
    </td>
    <td width="42%"></td>
  </tr>
  
  
</table>								
<?}?>
<br><br><br> 
<center><input type="submit" value="Enregistrer le client"></center>

</form>
<?



// Deconnexion de la base de donnees
mysql_close();

?>

Mammouth du PHP | 19672 Messages

08 sept. 2005, 21:06

Ça sent le register_globals passé à OFF et les variables ne sont pas initialisées: Si ces données proviennent d'un formulaire, tu dois au préalable les initialiser avec:
$var = $_POST['var'];
Et ce pour TOUTES les variables en provenance du formulaire.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

08 sept. 2005, 21:20

Houlaaaaaaa

Fort.
Merci pour ton aide.
Un autre article là dessus pour les pauvres gars comme moi qui ont le même problème :shock:

http://www.horslimite.net/tutoriel/astuce%20php/1.html

Mammouth du PHP | 19672 Messages

08 sept. 2005, 21:21

[Résolu] alors :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

09 sept. 2005, 08:50

Disons que oui. :?

J'ai compris le problème mais je n'ai pas envie de le résoudre. Trop de boulot :roll: pas assez de temps... :(

Je repasse donc en 1.6... Oui je sais C nul :?

Merci a tous

Mammouth du PHP | 19672 Messages

09 sept. 2005, 09:15

C'est pourtant pas dur :
<?php


// Déclaration des paramètres de connexion
$host = "localhost";
$user = "root";
$bdd = "rc";
$passwd  = "**********";
$table ="clients";
$URL = "/modules.php?name=Clients&file=edit";

// Connexion au serveur
mysql_connect($host, $user,$passwd) or die("Erreur de connexion au serveur");
mysql_select_db($bdd) or die("Erreur de connexion a la base de donnees");

// Requete permettant d'afficher les records
$query1 = "SELECT * FROM clients WHERE Numero=$Fiche";
$result1 = mysql_query($query1);


// Modification du record dans la DB
if($modif)
{
    /* Récupération des variables du formulaire */
    $MNom = $_POST['MNom'];
    $MPrenom = $_POST['MPrenom'];
    $MSociete = $_POST['MSociete'];
    $MTva = $_POST['MTva'];
    $MRc = $_POST['MRc'];
    $MAdresse_fact = $_POST['MAdresse_fact'];
    $MCpostal_fact = $_POST['MCpostal_fact'];
    $MLocalite_fact = $_POST['MLocalite_fact'];
    $MAdresse_livr = $_POST['MAdresse_livr'];
    $MCpostal_livr = $_POST['MCpostal_livr'];
    $MLocalite_livr = $_POST['MLocalite_livr'];
    $MTel = $_POST['MTel'];
    $MFax = $_POST['MFax'];
    $MGsm = $_POST['MGsm'];
    $MEmail = $_POST['MEmail'];
    $MMsn = $_POST['MMsn'];
    $MMateriel = $_POST['MMateriel'];
    $MNumero = $_POST['MNumero'];

    /* Création de la requête */
    $table ="clients";
    $query = "UPDATE ".$table."
              SET Nom='".$MNom."', Prenom='".$MPrenom."', Societe='".$MSociete."', Tva='".$MTva."', Rc='".$MRc."', Adresse_fact='".$MAdresse_fact."', Cpostal_fact='".$MCpostal_fact."', Localite_fact='".$MLocalite_fact."', Adresse_livr='".$MAdresse_livr."', Cpostal_livr='".$MCpostal_livr."', Localite_livr='".$MLocalite_livr."', Tel='".$MTel."', Fax='".$MFax."', Gsm='".$MGsm."', Email='".$MEmail."', Msn='".$MMsn."', Materiel='".$MMateriel."' 
              WHERE Numero='".$MNumero."'";
    $result = mysql_query($query);
    die('<meta http-equiv="refresh" content="0; URL=/modules.php?name=Clients&file=view">');
}


// Affichage du formulaire à modifier
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

09 sept. 2005, 11:11

euh oui, en effet... vu comme ca :shock:

je vais réfléchir a la question..

Merci Cyrano