Page 1 sur 1

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

Posté : 08 sept. 2005, 14:59
par altf4
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:

Posté : 08 sept. 2005, 15:07
par iclo
Sans voir le code, point de salut...

code

Posté : 08 sept. 2005, 15:13
par altf4
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();

?>

Posté : 08 sept. 2005, 21:06
par Cyrano
Ç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.

houlaaaaaa

Posté : 08 sept. 2005, 21:20
par altf4
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

Posté : 08 sept. 2005, 21:21
par Cyrano
[Résolu] alors :?:

Mouais

Posté : 09 sept. 2005, 08:50
par altf4
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

Posté : 09 sept. 2005, 09:15
par Cyrano
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
?>

en effet...

Posté : 09 sept. 2005, 11:11
par altf4
euh oui, en effet... vu comme ca :shock:

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

Merci Cyrano