8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je balbutie en PHP/MySQL et j'ai besoin d'aide :

J'ai une table "Séjours" qui contient :
ID, type, destination. (sejour.php)

J'ai une deuxième table "option_séjour" qui contient :
ID,destination,descriptif. (option_sejour.php)

Aucun problème pour alimenter la table sejour via sejour.php, tout est OK. (les fonctions Ajout/Modifier sont intégrées dans la même page)

j'ai créé un lien dans séjour.php


print  " | <A HREF='option_sejour.php?mod=aj=1&destination=".$row[destination]."'> Option </a>


c'est maintenant que ça se complique pour moi :

je voudrais récupérer la variable du POST (destination) pour qu'elle s'insère automatiquement dans un champ non modifiable de la page option_sejour.php, jusqu'à la validation du formulaire d'enregistrement de cette dernière. (j'utiliserai ce champ commun aux deux tables pour la jointure des tables ultérieurement).

Comment faire ?

Merci
Modifié par SebC (13 Feb 2010 - 01:54)
Salut,

SebC a écrit :
Je balbutie en PHP/MySQL
Du coup tu n'es pas sur le bon forum comme cela est expliqué dans l'annonce. Smiley cligne

SebC a écrit :
j'ai créé un lien dans séjour.php

print  " | <A HREF='option_sejour.php?mod=aj=1&destination=".$row[destination]."'> Option </a>
... qui est invalide.

Ça devrait plutôt ressembler à :
print  ' | <a href="option_sejour.php?mod=aj&destination='.$row['destination'].'"> Option </a>';
Par ailleurs si tu n'as qu'1 et 1 seul enregistrement dans la table option_sejour c'est que cette table est inutile : le champ descriptif devrait être dans la table sejour.

SebC a écrit :
je voudrais récupérer la variable du POST (destination) pour qu'elle s'insère automatiquement dans un champ non modifiable de la page option_sejour.php, jusqu'à la validation du formulaire d'enregistrement de cette dernière. (j'utiliserai ce champ commun aux deux tables pour la jointure des tables ultérieurement).
En premier lieu ce n'est pas une variable POST mais une variable GET.

Ensuite, soit tu as besoin de l'afficher pour l'utilisateur et tu peux faire
<input type="text" name="destination" disabled="disabled" value="<?php echo $_GET['destination'] ; ?>" />
soit tu n'as pas besoin de l'afficher et tu peux faire :
<input type="hidden" name="destination" value="<?php echo $_GET['destination'] ; ?>" />
Bonjour,

Merci beaucoup pour ta réponse.

La fonction aj=1 permet l'affichage du formulaire de saisie des données (comme je l'avais mentionné dans mon premier post les possibilités d'ajout/modification/suppression sont intégrées dans la page et s'affiche par le biais de liens).

L'affichage de la variable passée avec ta ligne de code :
<input type="text" name="destination" disabled="disabled" value="<?php echo $_GET['destination'] ; ?>" />

fonctionne parfaitement, mais l'enregistrement dans la table ne s'effectue pas. Comment puis-je récupérer la valeur passée en GET dans l'envoi des données.

Merci,

Seb
SebC a écrit :
La fonction aj=1 permet l'affichage du formulaire de saisie des données
Ce n'est pas une fonction mais un passage de variable. Smiley cligne

Tu avais mis option_sejour.php?mod=aj=1... ce qui est invalide. J'ai donc supposé que c'était option_sejour.php?mod=aj... mais d'après ce que tu dis il faut mettre option_sejour.php?aj=1...
Bonsoir,

Voila l'url exacte que j'emploie :

print  " | <A HREF='option_sejour.php?aj=1&destination=".$row[destination]."'> Option </a>


le contenu de destination passe bien par l'url et s'affiche sur la page option_sejour.php.

mais lors de l'enregistrement.. le champ est vide dans la table, la valeur n'est pas envoyée, je viens de tenter une déclaration comme ceci en tête de page :


<?php
$destination = $_GET[destination];
?>


mais sans succès.

L'enregistrement est déclaré comme ceci :

<?
include("connect.inc.php");
if($_POST[Submit]=='Enregistrer'){
	
	$type=AddSlashes($type);
	$destination=AddSlashes($destination);
	$slogan=AddSlashes($slogan);
	$ok=0;
	$query="insert into option_sejour values ('','$type','$destination','$slogan')";
	if(mysql_query($query)){
		$ok++;
	}
	$id_i = mysql_insert_id();
	if(($photo!='none')&&($photo!='')){
	  if(move_uploaded_file($_FILES['photo']['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/imgs/option_circuits/".$id_i.".jpg")){
	  	$ok++;
	  }
	}
}elseif($_POST[Submit]=='Modifier'){
	$type=AddSlashes($type);
	$destination=AddSlashes($destination);
	$slogan=AddSlashes($slogan);
	$ok=0;
	$query="update option_sejour set type='$type', destination='$destination', slogan='$slogan'";
	if(mysql_query($query))	$ok++;
	if(($photo!='none')&&($photo!='')){
	  unlink($_SERVER['DOCUMENT_ROOT']."/imgs/option_circuits/".$_POST[id].".jpg");
	   if(move_uploaded_file($_FILES['photo']['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/imgs/option_circuits/".$_POST[id].".jpg")) $ok++;
	mysql_query($query);
	}
}
if($_REQUEST[act]=='sup'){
	$query = "DELETE FROM option_sejour WHERE id='$_REQUEST[id]'";
	mysql_query($query);
	unlink($_SERVER['DOCUMENT_ROOT']."/imgs/option_circuits/".$_REQUEST[id].".jpg");
}elseif($_REQUEST[act]=='mod'){
	$query = "SELECT * FROM option_sejour WHERE id='$_REQUEST[id]'";
	$rep = mysql_query($query);
	$res = mysql_fetch_array($rep);
}
?>


merci,

Seb
Ce n'est pas $destination = $_GET[ destination]; mais $destination = $_GET['destination'];. Et je me répète : Alsacréations n'est pas le bon forum pour débuter en php. Smiley murf
Modifié par Heyoan (13 Feb 2010 - 00:08)
merci, pour le temps passé à me répondre, mais ça fonctionne toujours pas.

Je vais donc me tourner vers un forum pour débutant.

Seb Smiley decu
PHP débutant m'a sorti de l'ornière en 10 mn, si le champ "text" est "disabled", le contenu de ce dernier n'est pas envoyé vers la base.