La communauté ALL HTML c'est 58004 membres à ce jour dont 1 inscrits aujourd'hui et 29 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

formulaire et $-GET

liste des forums liste des discussions Participer à la discussion

Photo de pitit Message publié le mercredi 23 avril 2008 à 14 h 04 par pitit. pitit
Bonjour,

Dans mon code, des données sont envoyées en $_GET, je les vois bien dans l'adresse du navigateur : titre=tralala email=tralalal@hotmail.com

Mais seul le titre s'affiche dans mon formulaire pourtant l'email apparait bien dans l'adresse.

Voici mon code :


<?php include("en_tete.php"); ?>
<div id="corps">
<p>Vous pouvez nous envoyer votre photo en cliquant sur parcourir :</p>
<?php
include("transfertannu.php");
if(isset($_FILES['fic']) AND isset($_POST['titre']) AND isset($_POST['email']))
{
transfert();
}
?>

<p>Envoi de votre photo:</p>
<form enctype="multipart/form-data" action="#" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
<input type="file" name="fic" size=50 />
<BR>
<br>
<label>
Titre de l'annonce:
<input type="text" name="titre" value="<?php if (isset($_GET['titre'])) echo stripslashes(htmlentities(trim($_GET['titre'])));?>">
</label>
<BR>
<br>
<label>
Votre email:
<input type="text" name="email" value="<?php if (isset($_GET['email'])) echo stripslashes(htmlentities(trim($_GET['email'])));?>">
</label>
<input type="submit" value="Envoyer" />
</form>
</div>
<?php include("pied_de_page.php"); ?>


Le lien pour venir sur cette page est :



header('Location: photoannu.php?titre='.$_POST['titre'].'&amp;email='.$_POST['email'].'');

Merci de m'aider.
Photo de Terence Message publié le mercredi 23 avril 2008 à 15 h 20 par Terence.
Bonjour pitit,

D'abord, l'adresse dans le navigateur comprend bien le "&", du genre :
domaine?titre=tralala&email=tralalal@hotmail.com

et si oui, dans ton formulaire, à l'endroit ou devrait apparaître l'adresse e-mail, il n'y a rien ou as-tu un message d'erreur ou autre ?
Photo de pitit Message publié le mercredi 23 avril 2008 à 16 h 00 par pitit. pitit
Oui, le & est bien présent.
A l'endroit où devrait apparaitre l'email, il n'y a rien du tout.
Photo de Terence Message publié le vendredi 25 avril 2008 à 20 h 24 par Terence.
Je vais pas être d'une grande aide, car la, comme ça, je ne vois pas trop, mais je tenterai de savoir si la variable existe vraiment et quelle est concrètement sa valeur (en utilisant par exemple print_r($_GET);).

Si elle existe, voir ce qui empêche l'affichage, peut-être en l'affichant sans traitement (enlever les htmlentities, stripslahes...) et en début de page... pour voir ce que ça donne..

Tiens nous au courant !
Photo de pitit Message publié le vendredi 25 avril 2008 à 23 h 42 par pitit. pitit
J'ai mis en début de page :

<?php echo $_GET['email']; ?>
<?php echo $_GET['titre']; ?>

Et bien encore une fois le titre s'affiche mais pas l'email.
Pourtant je vois bien les deux valeurs dans mon navigateur.

Peut-être que pour transmettre des emails, il faut un caractère spécifique, je ne sais pas comment faire.
Photo de inca roads Message publié le samedi 26 avril 2008 à 01 h 01 par inca roads.
Bonjour ,

tu récupères tes variables en $_POST pour les renvoyer en $_GET via la fonction header

header('Location: photoannu.php?titre='.$_POST['titre'].'&amp;email='.$_POST['email'].'');

A mon avis le problème est du au fait que dans la fonction header tu écris le & séparateur en unicode plutôt qu'en ascii

j'écrirais plutôt comme ça

header('Location: photoannu.php?titre='.$_POST['titre'].'&email='.$_POST['email'].'');
Photo de pitit Message publié le dimanche 27 avril 2008 à 23 h 57 par pitit. pitit
Merci inca roads,

Effectivement l'email est transmit et inscrit dans mon formulaire.

Par contre, j'ai de nouveau un problème, mes photos ne sont plus envoyées dans ma base de données.
J'ai tellement touché au code que je ne sais plus d'où vient l'erreur.

Voici mon code de la page photoannu :

<?php include("en_tete.php"); ?>
<div id="corps">

<p>Vous pouvez nous envoyer votre photo en cliquant sur parcourir :</p>
<?php
include("transfertannu.php");
if(isset($_FILES['fic']) AND isset($_POST['titre'])AND isset($POST['email'])AND isset($POST['numero']))
{
transfert();
}
?>

<p>Envoi de votre photo:</p>
<form enctype="multipart/form-data" action="#" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
<input type="file" name="fic" size=50 />
<BR>
<br>
<label>
Titre de l'annonce:
<input type="text" name="titre" value="<?php if (isset($_GET['titre'])) echo stripslashes(htmlentities(trim($_GET['titre'])));?>">
</label>
<BR>
<br>
<label>
Votre email:
<input type="text" name="email" value="<?php if (isset($_GET['email'])) echo stripslashes(htmlentities(trim($_GET['email'])));?>">
</label>
<BR>
<br>
<label>
Numéro de l'annonce:
<input type="text" name="numero" value="<?php if (isset($_GET['numero'])) echo stripslashes(htmlentities(trim($_GET['numero'])));?>">
</label>
<input type="submit" value="Envoyer" />
</form>
</div>
<?php include("pied_de_page.php"); ?>

Et voici mon code de la page transfertannu :

<?php
function transfert()
{
$ret=false;
$image_blob='';
$image_taille=0;
$image_type='';
$image_nom='';
$taille_max=250000;
$ret=is_uploaded_file($_FILES['fic']['tmp_name']);
if (!$ret)
{
echo "Problème de transfert";
return false;
}
else
{
//Le fichier a bien été reçu
$img_taille=$_FILES['fic']['size'];
if ($img_taille>$taille_max)
{
echo "Votre photo est trop grosse !";
return false;
}

$img_type=$_FILES['fic']['type'];
$img_nom=$_FILES['fic']['name'];
$titre = htmlentities ($_POST['titre']);
$email = htmlentities ($_POST['email']);
$numero = htmlentities ($_POST['numero']);

include("connexion.php");

$img_blob=file_get_contents($_FILES['fic']['tmp_name']);
$req= "INSERT INTO photo_annonce(".
"img_nom, img_taille, img_type, img_blob, titre, email, numero".
") VALUES (".
"'".$img_nom."', ".
"'".$img_taille."', ".
"'".$img_type."', ".
"'".addslashes ($img_blob)."', ".
"'".$titre."', ".
"'".$email."', ".
"'".$numero."') ";
$ret = mysql_query($req) or die (mysql_error());
return true;
}
}
?>

Je pense que l'erreur se trouve sur la page de transfert mais je n'en suis pas sûre.
Photo de inca roads Message publié le mardi 29 avril 2008 à 11 h 17 par inca roads.
Re :

Je vois ça

if(isset($_FILES['fic']) AND isset($_POST['titre'])AND isset($POST['email'])AND isset($POST['numero']))

tu écris $POST alors qu'il faut écrire $_POST
Photo de pitit Message publié le mardi 29 avril 2008 à 20 h 57 par pitit. pitit
Merci beaucoup pour tout, mon problème est enfin résolu.

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions