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> russie !<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> russie !<br>";}
}
else
{if ($display)
{echo "Echec de la slection de la base <b>".USR_DB."</b>...<br>";}
exit;
}
}
function execute ($request)
{global $disp_vars;
if ($disp_vars) echo "<b>Requte :"."</b>$request";
if ($result = mysql_query ($request))
{if ($disp_vars) echo "Requte russie";
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 donnes 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 franais</td>
<td> </td>
<td><input type="text" size="250" name="title1"></td>
</tr>
<tr>
<td>Ralisateur</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]
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> russie !<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> russie !<br>";}
}
else
{if ($display)
{echo "Echec de la slection de la base <b>".USR_DB."</b>...<br>";}
exit;
}
}
function execute ($request)
{global $disp_vars;
if ($disp_vars) echo "<b>Requte :"."</b>$request";
if ($result = mysql_query ($request))
{if ($disp_vars) echo "Requte russie";
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 donnes 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 franais</td>
<td> </td>
<td><input type="text" size="250" name="title1"></td>
</tr>
<tr>
<td>Ralisateur</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]