-
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'].'&email='.$_POST['email'].'');
Merci de m'aider.
-
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 ?
-
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.
-
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 !
-
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.
-
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'].'&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'].'');
-
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.
-
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
-
Message publié le mardi 29 avril 2008 à 20 h 57 par pitit. pitit
-
Merci beaucoup pour tout, mon problème est enfin résolu.