Page 1 sur 1

[Resolu]Fonction et formulaire

Posté : 17 janv. 2006, 16:17
par zyclope
Hello tous
J’ai une question plus théorique que pratique...

(Désolé d'avance j'arrive même pas moi a bien visualiser ce que je veux faire)

Bon on résume du mieux que je peux.

J’ai extrait d'une base de donnée affichée et mis en page grâce à une fonction externe une liste de donnée.

L’utilisateur à un bouton update. :roll:

quand il clique dessus j'aimerais qu'il ai un formulaire (il existe déjà)et la il pourra modifier les donnée et en validant l'update ce fait.

Bon mettre ça sur des .php a part pas de problème.

Mais j'aimerais tous passer par des fonctions ce trouvant dans mon fichier externe et exécuter avec des formulaire en self.

Pour commencer je vais faire une fonction affichage du formulaire d'update ok.
Avec un récupe des donnée déjà existant.

Après la je sèche.

Quand je vais faire le valider est ce que je récupère tous les _POST sur la page principale et je transmet mes 17 paramétre à ma foncrtion ou je peux récupérer direct dans ma fonction ?

A++ et merci d'avance
zyclope

Edit : j'ai oublié de dire bonjour :D

Posté : 17 janv. 2006, 19:22
par Tictac
je te post un exemple de ce que je fais pour un formulaire =>
<?
//Démarrer la session
session_start();
include "acces_auth.php";
//
// Récupération des données
$qry_user = mysql_query("SELECT * FROM admin WHERE admin_id = '$_SESSION[admin_id]'") or die ("Récupération des infos admin :: ".mysql_error());
$user = mysql_fetch_assoc($qry_user);
?>

<script language="javascript" type="text/javascript">
function checkform(mod_user)
{
if (mod_user.nom.value == "")
	{
		alert("Vous avez oublié d'indiquer le nom.");
		mod_user.nom.focus();
		return false ;
	}
else if (mod_user.password.value != mod_user.confirmpassword.value)
	{
		alert("Vous n'avez pas introduit les mêmes mots de passe.");
		mod_user.password.focus();
		return false ;
	}
else if ((mod_user.email.value.indexOf('@',0)==-1) || (mod_user.email.value.indexOf('.',0)==-1))
		{
			alert("adresse email incorrecte");
			mod_user.email.focus();
			return false ;
		}
else {
	return true;
	}
}
</script>

<?
//Execusion de la connexion
if (isset($_POST['exec']))
	{
	if ($_POST['exec'] == "ok_mod")
		{
		$pass_rec = md5($_POST['password']);
		if ($pass_rec != $user['admin_password'] || $_POST['password'] != "")
			{
		$password = md5($_POST['password']);
		
		$qry_add_user = mysql_query("UPDATE admin SET admin_nom = '$_POST[nom]' , admin_pseudo ='$_POST[pseudo]',admin_password = '$password' ,admin_email = '$_POST[email]' WHERE admin_id = '$_SESSION[admin_id]'")or die ("Modification d'utilisateur :: ".mysql_error());
		$msg = "Informations Administrateur Modifiées<br>Rafraichir la page si vous ne voyez pas les modifications";
			}
		else{
		
			$qry_add_user = mysql_query("UPDATE admin SET admin_nom = '$_POST[nom]' , admin_pseudo ='$_POST[pseudo]', admin_email = '$_POST[email]' WHERE admin_id = '$_SESSION[admin_id]'")or die ("Modification d'utilisateur :: ".mysql_error());
		$msg = "Informations Administrateur Modifiées<br>Rafraichir la page si vous ne voyez pas les modifications";
			}
		}
	}
?>
<form action="index.php?page=mod_user" enctype="multipart/form-data" method="post" onsubmit="return checkform(this);" name="mod_user">
		<table width="100%" border="0">
		<tr>
		<tr>
		<td colspan="2"><div align="left" class="txt">Uw informat&iuml;e aanpassen :</div></td>
		</tr>
		<tr>
		<td colspan="2"><hr /></td>
		</tr>
		<? if (isset($msg))
			{?>
		<tr>
		<td align="center" class="message" colspan="2"><img src="<?=_ROOT_?>images/msg_b.gif" align="absmiddle" /><?=$msg?></td>
		</tr>
		
		<tr>
		<td colspan="2"><hr /></td>
		</tr>
		<? } ?>
		<tr>
		<td class="nav" width="120"><div align="left">Naam :</div></td>
		<td><div align="left">
		  <input name="nom" type="text" size="30" value="<?=$user['admin_nom']?>"/>
		  </div></td>
		</tr>
		<tr>
		<td class="nav"><div align="left">Login :</div></td>
		<td><div align="left">
		  <input name="pseudo" type="text" size="30" value="<?=$user['admin_pseudo']?>"/>
		  <img src="<?=_ROOT_?>images/msg_b.gif" align="absmiddle" /><span class="message">Sera utilisé pour se connecter à l'administration</span></div></td>
		</tr>
		<tr>
		<td class="nav" width="120"><div align="left">Password :</div></td>
		<td><div align="left">
		  <input name="password" type="password" size="30" />
		  <img src="<?=_ROOT_?>images/msg_b.gif" align="absmiddle" /><span class="message">Non modifié si vous n'entrez rien</span>
		  </div></td>
		</tr>
			<tr>
		<td class="nav" width="120"><div align="left">Re-Password :</div></td>
		<td><div align="left">
		  <input name="confirmpassword" type="password" size="30" />
		  </div></td>
		</tr>
		<tr>
		<td class="nav" width="120"><div align="left">E-mail :</div></td>
		<td><div align="left">
		  <input name="email" type="text" size="30" value="<?=$user['admin_email']?>"/>
		  </div></td>
		</tr>
		<tr>
		<td colspan="2"><div align="center">
		  <input name="" type="image" src="<?=_ROOT_?>images/enregistrer.gif" alt="Enregistrer cet administrateur" />
		  </div></td>
		</tr>
		</table>
		<input name="exec" type="hidden" value="ok_mod" />
		</form>

Posté : 17 janv. 2006, 19:55
par zyclope
merci.

Mais ce que tu met la c'est pas vraiment mon problème.

ok je met ton code dans une fonction.
car j'ai plusieurs page qui utiliseron cette fonction pratiquement identique (32 pages)

j'affiche la fonction en passant les parmètre voulu ... id, base ....

est-ce que quand je fait mon update le submit point sur ma page xxx.php mais le formulaire se trouve sur le fichier foncton.php

ca va faire quoi ?

et en plus j'affiche le formulaire avec ca

Code : Tout sélectionner

$text =$text. affiche_update($base,$iduser);
:oops:

Posté : 18 janv. 2006, 14:51
par zyclope
C'est bon ...

POST est une superglobal :D
:lol: