Problème script php

Fermé
boopy Messages postés 12 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 - 15 oct. 2007 à 09:22
boopy Messages postés 12 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 - 15 oct. 2007 à 10:38
Bonjour,

J'ai trouvé ce script pour apprendre le php, il s'agit d'un formulaire de soumission, mais il semblerait qu'il y ait un problème avec la fonction while. Etant débutante, je n'arrive pas à en voir la cause.

function PrintSubForm()
{
global $out, $author, $body, $year, $semestre, $proposer;
$out .= "<form action=\"$PHP_SELF\" method=\"post\">";
$out .= "<b>Proposer une citation</b><br />";
$out .= " Prof : <select name=\"author\">";
$requet = "SELECT DISTINCT author FROM citation ORDER BY author ASC";
$result = mysql_query($requet);
$out .= "<option value=\"\"> ";
while($ligne = mysql_fetch_object($result)) {
if($author == $ligne->author) { $selected = "selected"; } else { $selected=""; }
$out .= "<option value=\"".$ligne->author."\" $selected>".ligne->author. "</option>";
}
$out .= "</select><br />"; // même chose pour year et semestre
$out .= "<textarea name=\"body\" cols=\"40\" rows=\"5\">$body</textarea><br />";
$out .= "Votre pseudo(*) : <input type=\"text\" name=\"sender\" value=\"$proposer\" />";
$out .= "<input type=\"hidden\" name=\"action\" value=\"proposer\" />";
$out .= "<input type=\"submit\" value=\"Valider\" /><br />";
$out .= "Tous les champs sauf celui avec astérisque sont obligatoires.";
$out .= "</form>";
}

Merci d'avance,
A voir également:

4 réponses

sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
15 oct. 2007 à 10:04
alors déjà, j'ai éclairci ton code, pour pouvoir mieu le lire

function PrintSubForm()
{
global $out, $author, $body, $year, $semestre, $proposer;

$out .= "<form action=\"$PHP_SELF\" method=\"post\">";
$out .= "<b>Proposer une citation</b><br />";
$out .= " Prof : <select name=\"author\">";

$requet = "SELECT DISTINCT author FROM citation ORDER BY author ASC";

$result = mysql_query($requet);

$out .= "<option value=\"\"> ";

while($ligne = mysql_fetch_object($result))
{
	if($author == $ligne->author)
	{
		$selected = "selected";
	}
	else
	{
		$selected="";
	}

	$out .= "<option value=\"".$ligne->author."\" $selected>".ligne->author. "</option>";
}

$out .= "</select><br />"; // même chose pour year et semestre
$out .= "<textarea name=\"body\" cols=\"40\" rows=\"5\">$body</textarea><br />";
$out .= "Votre pseudo(*) : <input type=\"text\" name=\"sender\" value=\"$proposer\" />";
$out .= "<input type=\"hidden\" name=\"action\" value=\"proposer\" />";
$out .= "<input type=\"submit\" value=\"Valider\" /><br />";
$out .= "Tous les champs sauf celui avec astérisque sont obligatoires.";
$out .= "</form>";

} 



je te propose moi de modifier cette ligne
$result = mysql_query($requet);

par

$result = mysql_query($requet) or die("Mysql error:".mysql_error());

ainsi si tu as un problème dans ta requete il le diras
0
boopy Messages postés 12 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 15 octobre 2007
15 oct. 2007 à 10:22
En fait, rien ne s'affiche, même en changeant la requête.
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
15 oct. 2007 à 10:31
a oui, est-ce que tu as un mysql_connect
et mysql_select_db ???
0
boopy Messages postés 12 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 15 octobre 2007
15 oct. 2007 à 10:38
En fait, je n'ai pas de problème particulier de connexion à une base de données via php, mon seul souci est que dans ce script la fonction while semble fausse selon l'éditeur de langage php que je possède ; en outre si j'execute le script sans la fonction while, j'obtiens des données qui s'affichent.
0