$id = $_GET['id'] : variable ne fonctionne pas
Je suis en train de les envoyer par e-mail
1) à l'Aide de $_GET['id'] pour définir la ligne mysql
2) Extraire les informations pertinentes à partir de la base de données, y compris l'adresse e-mail et
3) Envoyer un e-mail à l'extrait adresse e-mail.
Aucune erreur n'est signalée avec le rapport d'erreurs (à noter que collé le code a commenté), mais les variables ci-dessous ($street2 et $email) ne semblent pas être retenus par l'intermédiaire du fichier à inclure. L'écho de tous les beaux travaux lorsqu'ils ne sont pas commentés. Lorsque je remplace le $email variable (sur le fichier à inclure, non montré) avec une vraie adresse e-mail, tout ce qui envoie bien.
Je pense que la principale chose à noter est dans la Ligne 9, si je définir le $id, puis tout fonctionne bien. Cependant, si j'essaie d'utiliser $_GET pour définir le $id variable, puis l'écho des variables encore fine (sens des requêtes db sont couronnées de succès), mais le fichier include ne fonctionne pas.
Voici mon code. Il est placé au-dessus du formulaire HTML. J'ai ajouté quelques commentaires dans le code afin que vous puissiez avoir une meilleure idée de ce qui a fonctionné ou pas.
<?php
session_start() or die("Could not start session.");
//error_reporting(E_ALL);
//ini_set('display_errors', '1');
$id = 0;
if(isset($_GET['id']) && is_numeric($_GET['id']))
$id = (int)$_GET['id'];
//$id=4;
//if Line 9 is not commented out, then the whole script works fine and email is sent
require('connect.php');
$query1 = mysql_query("SELECT street2 FROM prop_one WHERE sellerID='$id'") or die("OOPS: Bad query1");
$row1 = mysql_fetch_assoc($query1, MYSQL_NUM);
$street2 = $row1[0];
//echo "This is $street2";
$query2=mysql_query("SELECT email FROM account WHERE sellerID='$id'") or die("OOPS: Bad query2");
$row2 = mysql_fetch_assoc($query2, MYSQL_NUM);
$email = $row2[0];
//echo "<br>This is $email";
if (isset($_POST['submit']))
{
include_once("emailSeller_inc.php");
}
?>
Ici est de la forme:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="emailToSeller">
<fieldset>
<legend>Your Contact Info
</legend>
<label for="conFName">First name*</label>
<input name="conFName" type="text" id="conFName" value="<?php echo stripslashes(htmlentities($conFName)) ?>" placeholder="required" required = "required" size="35" maxlength="50"/>
<label for="conLName">Last name</label>
<input name="conLName" type="text" id="conLName" value="<?php echo stripslashes(htmlentities($conLName)) ?>" size="35" maxlength="50"/>
<label for="conEmail">Email*</label>
<input name="conEmail" type="email" id="conEmail" value="<?php echo stripslashes(htmlentities($conEmail)) ?>" placeholder="required" required="required" size="35" maxlength="50"/>
<label for="conTel">Phone</label>
<input name="conTel" type="text" id="conTel" value="<?php echo stripslashes(htmlentities($conTel)) ?>" placeholder="" size="25" maxlength="15"/> e.g., 555.555.5555
</fieldset>
<fieldset style="text-align: center; position: absolute; top: -200; z-index: -1000;">
<input class="teaser" type="submit" name="submit" id="submit" value="Submit"/>
</fieldset>
<fieldset>
<legend>Your Message
</legend>
<label for="conSubject">Subject*</label>
<input name="conSubject" type="text" id="conSubject" value="<?php echo stripslashes(htmlentities($conSubject)) ?>" placeholder="required" required="required" size="35" maxlength="50"/>
<label for="conMessage">Message*</label>
<textarea name="conMessage" type="textarea" id="conMessage" placeholder="required" required="required" cols="50" rows="8" maxlength="400"/><?php echo stripslashes(htmlentities($conMessage)) ?></textarea>
<label class="teaser">Email</label>
<input class="teaser" name="validate" id="validate" type="text" autocomplete="off" />
</fieldset>
<fieldset style="text-align: center">
<input class="button" type="submit" name="submit" id="submit" value="Send email"/>
</fieldset>
</form>
</div>
- Ce qui se passe pour echo $_GET['id'] ?
- essayez is_int au lieu de is_numeric sinon qqch comme "4e12a" serait valable, trop
- où est connect.php? est dans le bon chemin? Peut-être vous pouvez activer l'affichage des erreurs php.ini (ou vérifier les journaux) pour voir l'erreur donnée par php
- scalopus: Si je reprends le $id, $ou $ _GET['id'], il résonne comme il se doit. En d'autres termes, lorsque l'URL est dit ?id=4, les échos montrez-moi 4. Merci!
- faire un
print_r($_REQUEST);
et coller le résultat dans la question.
Vous devez vous connecter pour publier un commentaire.
Vous essayez d'obtenir l'id de
$_GET
, puis plus tard la vérification de la$_POST
pour "soumettre". Quelle est la méthode sur votre formulaire? Ma conjecture est votre méthode est POST.Vous pouvez essayer de l'écho qui pratiquent hors
$_GET['id']
avant la ligne 9 comme scalopus mentionné dans les commentaires, ou essayez de passer à$_POST['id']
.modifier
Ajouter le champ caché pour l'id de la forme comme mentionné dans les commentaires. L'autre mourir au fond est facultatif et vous pouvez le supprimer une fois que vous êtes sûr que les choses fonctionnent comme prévu. Vous n'avez pas besoin d'envelopper l'inclure dans le
isset($_POST['submit'])
plus - si l'id est de définir, puis de soumettre l'est aussi. Espérons que cette aide.$_GET['id']
à$_POST['id']
et vous devriez être ok d'édition de ma réponse avec quelques uns nettoyage de code pour vous.