au secours, pblm PHP...

PocketBen

Membre actif
8 Janvier 2002
177
0
Visiter le site
Je créé mon premier formulaire avec envoi de données vers une table MySQL, j'ai suivi plein de tutoriaux et je ne comprends pas d'où vient le problème, ceci est un exemple copié. Ce qui se passe: je valide et il me recharge simplement la page de formulaire vide, sans rien envoyer. Que je mette ça en deux fichiers avec action="fichier2.php" ou en un seul avec $PHP_SELF, c'est pareil....

ET SUR PC AVEC EASYPHP CELA FONCTIONNE, le script est OK et créée bien les enregistrements dans la base MySQL...

Mon fichier test.php:


<HTML>
<HEAD>
<TITLE>$page_title</TITLE>
</HEAD>
<BODY>

<?PHP

define ("SQL_USR", "root");
define ("USR_PWD", "");
define ("SQL_HOST", "localhost");
define ("USR_DB", "dvd");

function srv_connect ($display)
{if ($server = mysql_connect(SQL_HOST, SQL_USR, USR_PWD))
{if ($display)
{echo "Connection au serveur <b>".SQL_HOST."</b> rŽussie !<br>";}
}
else
{if ($display)
{echo "Echec de la connexion au serveur <b>".SQL_HOST."</b>...";}
exit;
}
}

function db_select ($display)
{if ($db = mysql_select_db(USR_DB))
{if ($display)
{echo "Selection de la base <b>".USR_DB."</b> rŽussie !<br>";}
}
else
{if ($display)
{echo "Echec de la sŽlection de la base <b>".USR_DB."</b>...<br>";}
exit;
}
}

function execute ($request)
{global $disp_vars;
if ($disp_vars) echo "<b>Requte :"."</b>$request";

if ($result = mysql_query ($request))
{if ($disp_vars) echo "Requte rŽussie";
return $result;
}
else
{if ($disp_vars) echo "Erreur";
return FALSE;
}
}


$disp_vars=TRUE;

if ($title2 != "")
{
srv_connect ($disp_vars);

db_select ($disp_vars);

$test_request = execute("INSERT INTO movies "."(or_title, director, actors, editor, mdate, poster, critics, comments) "
."VALUES ('$title2', '$dir', '$act', '$edit', '$mdate', '$img', '$text1', '$text2')");

if ($test_request)
{echo "le film a bien ŽtŽ enregistrŽ dans la base";}
}


?>

<form method="post" action="<?PHP echo $PHP_SELF; ?>">

<table>
<tr>
<td colspan="3">Saisie des donnŽes d'un film dans la base</td>
</tr>
<tr>
<td>Titre original</td>
<td> </td>
<td><input type="text" size="220" name="title2"></td>
</tr>
<tr>
<td>Titre franais</td>
<td> </td>
<td><input type="text" size="250" name="title1"></td>
</tr>
<tr>
<td>RŽalisateur</td>
<td> </td>
<td><input type="text" size="100" name="dir"></td>
</tr>
<tr>
<td>Acteurs</td>
<td> </td>
<td><input type="text" size="200" name="act"></td>
</tr>
<tr>
<td>Editeur</td>
<td> </td>
<td><input type="text" size="100" name="edit"></td>
</tr>
<tr>
<td>Date de sortie</td>
<td> </td>
<td><input type="text" size="10" name="mdate"></td>
</tr>
<tr>
<td>Image</td>
<td> </td>
<td><input type="text" size="50" name="img"></td>
</tr>
<tr>
<td>Critiqye</td>
<td> </td>
<td><textarea rows="5" vols="50" name="text1"></textarea></td>
</tr>
<tr>
<td>Commentaires</td>
<td> </td>
<td><textarea rows="3" vols="50" name="text2"></textarea></td>
</tr>
<tr>
<td colspan="3"><input type="submit" value="Valider"></td>
</tr>
</table>

</form>
</body>
</html>

Pblm de config de PHP sur le Mac ???

[26 mai 2002 : message édité par PocketBen]
 
PHP est interprété côté serveur -> problème de config avec Apache ?
 
Vire tes accents de ton code !!!
rolleyes.gif
 
oui, pour les accents c un détail, mon copier coller a merdé et j'étais pas (encore) passé par HTML Converter.

Mais pour vous, ça doit fonctionner ?

Qqn a un fichier de config apache bien configuré et complet ?
J'ai suivi le tutorial de Marc Linyage.
 
Chez moi le script fonctionne... A tout les coup ca vient de PHP 4.2 et ses External Variable...

Je t'invite a aller voir php.net ou plus précisément http://www.php.net/manual/en/language.variables.predefined.php

Moi je n'ai pas encore PHP 4.2 donc je ne connais pas encore ces problèmes... Je crois que ce nouveau xomportement est desactivable dans le fichier PHP.INI. N'hésites pas a m'envoyer un message privé si t'as un problème...

D'apres ce que j'ai compris, il faut que tu remplaces dans ton code $title2 , $dir, ... par $_POST[title2],$_POST[dir], ..

[27 mai 2002 : message édité par KillerDeMouches]
 
Bon je vais esssayer ce que tu me dis mais ce qui est bizarre c'est que le PC sur lequel j'ai essayé est en PHP 4.2.0... Mon mac est lui en 4,2,0 out autant...

Bizarre, je vais quand même tester ta solution avant de dire "ça marche pas"..
wink.gif
 
tu peux faire un tour sur phpdebutant.com, dans la rubrique exemples y'a des tutoriaux d'envoi de requetes sur une base mysql et reccuperation
tres bon site ! ;o)
A+
 
Oui merci, mais au final le problème n'est apparemment pas dans mon script... mais plutôt au niveau de ma config PHP sous MacOS X.

Merci à KillerDeMouches d'avoir testé... mais malheureusement, chez lui, ça marche
wink.gif
wink.gif


Bon, merci quand même à tous...