PHP - Formulaire problème value
Dernière réponse : dans Programmation
Bonjour à tous,
je suis en train de développer une application qui permet, entre autre, à l'utilisateur d'ajouter des informations dans une BDD par le biais de formulaire. Je souhaiterais lui donner la possibilité de modifier une information (précédemment ajoutée dans la BDD).
Pour cela, j'ai une page de formulaire qui permet à l’utilisateur de choisir, à l'aide d'un bouton radio, l'info qu'il souhaite modifier. Je récupère donc le titre de l'info ainsi que les données qui vont avec (logiciel, version et description) et j'affiche alors un formulaire qui contient les données de l'info et on va donc pouvoir les modifier.
C'est là que mon problème apparaît : pour afficher, les anciennes valeur des champs j'utilise par exemple :
Le problème est que si le nom du logiciel (donc la valeur de $logiciel) est composé de plusieurs mots il ne garde que le premier.
J'ai essayé en utilisant textarea plutôt que input texte et là je n'ai pas le problème !
Ca ne me dérange pas d'utiliser textarea sauf pour le titre de l'info, en effet, je ne veux pas que l'utilisateur puisse le modifier, j'ai donc également essayé avec input type='hidden' mais j'ai le même problème : je n'ai que le premier mot de pris en compte.
J'espère avoir été à peu près clair, ci-dessous la requête qui permet d'effectuer la mise à jour :
Merci d'avance pour votre aide
je suis en train de développer une application qui permet, entre autre, à l'utilisateur d'ajouter des informations dans une BDD par le biais de formulaire. Je souhaiterais lui donner la possibilité de modifier une information (précédemment ajoutée dans la BDD).
Pour cela, j'ai une page de formulaire qui permet à l’utilisateur de choisir, à l'aide d'un bouton radio, l'info qu'il souhaite modifier. Je récupère donc le titre de l'info ainsi que les données qui vont avec (logiciel, version et description) et j'affiche alors un formulaire qui contient les données de l'info et on va donc pouvoir les modifier.
C'est là que mon problème apparaît : pour afficher, les anciennes valeur des champs j'utilise par exemple :
echo "<td colspan='5'><input type='text' name='logiciel' size='50' maxlength='50' value=$logiciel></td>";
Le problème est que si le nom du logiciel (donc la valeur de $logiciel) est composé de plusieurs mots il ne garde que le premier.
J'ai essayé en utilisant textarea plutôt que input texte et là je n'ai pas le problème !
Ca ne me dérange pas d'utiliser textarea sauf pour le titre de l'info, en effet, je ne veux pas que l'utilisateur puisse le modifier, j'ai donc également essayé avec input type='hidden' mais j'ai le même problème : je n'ai que le premier mot de pris en compte.
J'espère avoir été à peu près clair, ci-dessous la requête qui permet d'effectuer la mise à jour :
mysql_query("UPDATE infolog SET logiciel='$logiciel', version='$version', link='$link', description='$description' WHERE title='$title'") or die (mysql_error());
Merci d'avance pour votre aide
Autres pages sur : php formulaire probleme value
Lassé par la pub ? Créez un compte
Alors en fait maintenant ça marche, je n'ai plus le problème d'avoir juste un seul mot, il fait bien la mise à jour des champs sauf des champs 'version' et 'link'.
je comprends pas je ne vois pas de différence, dans mon script, entre ces champs et les champs 'title' et 'description' qui eux se mettent bien à jour.
je comprends pas je ne vois pas de différence, dans mon script, entre ces champs et les champs 'title' et 'description' qui eux se mettent bien à jour.
Donc, pour résoudre les deux soucis:
echo '<td colspan="5"><input type="text" name="logiciel" size="50" maxlength="50" value="', $logiciel, '"></td>';
$query = "UPDATE `infolog` SET logiciel='".mysql_real_escape_string($logiciel)."', version='".mysql_real_escape_string($version)."', link='".mysql_real_escape_string($link)."', description='".mysql_real_escape_string($description)."' WHERE title='".mysql_real_escape_string($title)."'";
mysql_query($query) or die (mysql_error());
Merci beaucoup ! ça marche très bien !
J'aurai une autre question crazycat (inutile de créer un autre topic, toute façon c'est surement toi qui va répondre à ma question ^^).
J'ai un formulaire avec une liste d'information et on en choisit une à l'aide d'un bouton radio. Et je souhaiterais avoir deux boutons de type"submit" : un pour modifier et l'autre pour supprimer et en fonction du bouton choisi on envoie les données au bon fichier cible. C'est possible ça ?
Encore Merci
J'aurai une autre question crazycat (inutile de créer un autre topic, toute façon c'est surement toi qui va répondre à ma question ^^).
J'ai un formulaire avec une liste d'information et on en choisit une à l'aide d'un bouton radio. Et je souhaiterais avoir deux boutons de type"submit" : un pour modifier et l'autre pour supprimer et en fonction du bouton choisi on envoie les données au bon fichier cible. C'est possible ça ?
Encore Merci
C'est possible, avec un tout petit peu de javascript.
Considérons que "Modifier" sera l'action par défaut (c'est la moins dangereuse) et que sa cible est "modifier.php", "Supprimer" aura pour action "supprimer.php". Ton formulaire aura pour id "monform"
Je te fais tout le code inline, sans passer par du javascript:
Le "return false" dans le onclick est juste une sécurité pour éviter un double post.
Considérons que "Modifier" sera l'action par défaut (c'est la moins dangereuse) et que sa cible est "modifier.php", "Supprimer" aura pour action "supprimer.php". Ton formulaire aura pour id "monform"
Je te fais tout le code inline, sans passer par du javascript:
<form name="monform" id="monform" action="modifier.php" method="post">
<!-- Ici c'est tout ton formulaire -->
<input type="submit" name="modifier" id="modifier" value="Modifier" />
<input type="button" name="supprimer" id="supprimer" value="Supprimer" onclick="document.getElementById('monform').action=\"supprimer.php\";document.getElementById('monform').submit();return false;" />
</form>
Le "return false" dans le onclick est juste une sécurité pour éviter un double post.
Je dois avoir un problème dans ma syntaxe puisque rien ne se passe lorsque je clique sur Supprimer
echo '<form name="monform" id="monform" action="validmodif.php" method="post">';
while ($liste=mysql_fetch_array($resultat))
{
print '<div style="width:50%;margin:auto;"><p style="text-align:justify;">'.'<input type="radio" value="'.$liste['title'].'" name="title"><A HREF="'.$liste['link'].'">'.$liste['title'].'</A></p></div>'.'</radio>';
}
echo '<BR>';
echo '<input type="submit" name="modifier" id="modifier" value="Modifier" />';
echo '<input type="button" name="supprimer" id="supprimer" value="Supprimer" onclick="document.getElementById(\'monform\').action="supprinfo.php\";document.getElementById(\'monform\').submit();return false;" />';
echo '<form>';
ca ne marche pas mieux, et quand j'entoure mon code comme ça :
je ne suis pas sur que ça soit correct
echo '<script language="javascript" type="text/javascript">';
echo '<input type="button" name="supprimer" id="supprimer" value="Supprimer" onclick="document.getElementById(\'monform\').action=\"supprinfo.php\";document.getElementById(\'monform\').submit();return false;" />';
echo '</script>';
je ne suis pas sur que ça soit correct
Ah non, il ne faut surtout pas entourer ça par des balises script.
Après une petite analyse, JS a tendance à faire une erreur sur les \" (au moins avec firefox).
La correction est donc:
Après une petite analyse, JS a tendance à faire une erreur sur les \" (au moins avec firefox).
La correction est donc:
echo '<input type="button" name="supprimer" id="supprimer" value="Supprimer" onclick="document.getElementById(\'monform\').action=\'supprinfo.php\';document.getElementById(\'monform\').submit();return false;" />';
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhp formulaire probleme de validation
- solutionsProbleme image dynamique php formulaire
- ForumPhp formulaire en une page probleme
- ForumFormulaire d'inscription php insert value
- solutionsProbleme formulaire ajax et php
- ForumProbleme dans un formulaire code php
- ForumProbleme accent formulaire php
- ForumProbleme php erreur formulaire
- ForumProbleme redirection formulaire php
- ForumProbleme apostrophe dans formulaire php
- Voir plus