par
ciocciu » 15 nov. 2008, 01:41
bonjour
j'ai un petit pb d'insertion de données dans une table
par l'intermédiaire d'un formulaire avec 2 demandes j'obtiens 2 ensemble de données
je veux les insérer dans ma table mais seul le 1er ensemble y parvient
voici le code
<?php
<form action="" method="post">
<fieldset>
<legend>dates de matchs</legend> <!-- Titre du fieldset -->
<div>
<br/>
Veuillez entrez une date : <input onclick="ds_sh(this);" name="date" readonly="readonly" style="cursor: text" /><br />
une heure et le lieu : <input type="text" name="lieu" style="cursor: text" /><br />
et un adversaire : <input type="text" name="adversaire" style="cursor: text" /><br />
<p>
Veuillez entrez une autre date : <input onclick="ds_sh(this);" name="date2" readonly="readonly" style="cursor: text" /><br />
une heure et le lieu : <input type="text" name="lieu2" style="cursor: text" /><br />
et un adversaire : <input type="text" name="adversaire2" style="cursor: text" /><br />
<input type="submit" value="envoyer" />
</div>
</form>
<?php
//on se connecte
mysql_connect("localhost", "lo", "lo");
mysql_select_db("lo");
$text.= 'Erreur : Vous devez remplir au moins une date <br />';
// on teste les variables pour pas surcharger la table
if (!empty($_POST[date])) // si la variable 1ère date existe
{ // alors on teste la seconde date
if (!empty($_POST[date2])) // si la variable 2 existent
{
//On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$date = mysql_real_escape_string(htmlspecialchars($_POST[date]));
$lieu = mysql_real_escape_string(htmlspecialchars($_POST[lieu]));
$adversaire=mysql_real_escape_string(htmlspecialchars($_POST[adversaire]));
$date2 = mysql_real_escape_string(htmlspecialchars($_POST[date2]));
$lieu2 = mysql_real_escape_string(htmlspecialchars($_POST[lieu2]));
$adversaire2=mysql_real_escape_string(htmlspecialchars($_POST[adversaire2]));
//on explose les jour mois année des dates
$dateexpl =explode("-",$date);
$date2expl=explode("-",$date2);
//on calcule les indices timestamp
$vraitstamp = mktime(0, 0, 0, $dateexpl[1], $dateexpl[2], $dateexpl[0]);
$vraitstamp2 = mktime(0, 0, 0, $date2expl[1], $date2expl[2], $date2expl[0]);
$jstamp = (int)($vraitstamp/86400);
$timestamp_date =$jstamp/100;
$jstamp2 = (int)($vraitstamp2/86400);
$timestamp_date2 = $jstamp2/100;
//et alors on envoie les 2 dates dans les 2 tables
mysql_query("INSERT INTO dates_matchs VALUES('', '$date', '$lieu', '$timestamp_date', '$adversaire', '', '', '') ");
mysql_query("INSERT INTO dates_matchs VALUES('', '$date2', '$lieu2', '$timestamp_date2', '$adversaire2', '', '', '')");
// on les affiche pour vérifier
echo "<strong> 1ère date : le $date à $lieu contre $adversaire </strong><br>" ;
echo "<strong> deuxième date :le $date2 à $lieu2 contre $adversaire2 </strong>" ;
}
else { // Sinon,on s'occupe juste de la 1ère date
//On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$date = mysql_real_escape_string(htmlspecialchars($_POST[date]));
$lieu = mysql_real_escape_string(htmlspecialchars($_POST[lieu]));
$adversaire=mysql_real_escape_string(htmlspecialchars($_POST[adversaire]));
//on explose les jour mois année des dates
$dateexpl =explode("-",$date);
//on calcule les timestamp
$vraitstamp = mktime(0, 0, 0, $dateexpl[1], $dateexpl[2], $dateexpl[0]);
$jstamp = (int)($vraitstamp/86400);
$timestamp_date =$jstamp/100;
// et on l'envoie
mysql_query("INSERT INTO dates_matchs VALUES('', '$date', '$lieu', '$timestamp_date', '$adversaire', '', '', '')");
// on l'affiche
echo "<strong> 1ère date : le $date à $lieu contre $adversaire </strong><br>" ;
}
}
//sinon bin aucun champ n'est rempli
else {
echo '<p><strong>'.$text.'</strong></p>';
}
echo "<br>";
echo "<br>";
?>
donc seuls les $date', '$lieu', '$timestamp_date', '$adversaire
sont envoyés dans la table
et pas les $date2, '$lieu2', '$timestamp_date2', '$adversaire2
et je comprends pas pourquoi
merci de votre aide

bonjour
j'ai un petit pb d'insertion de données dans une table
par l'intermédiaire d'un formulaire avec 2 demandes j'obtiens 2 ensemble de données
je veux les insérer dans ma table mais seul le 1er ensemble y parvient
voici le code
[php]
<?php
<form action="" method="post">
<fieldset>
<legend>dates de matchs</legend> <!-- Titre du fieldset -->
<div>
<br/>
Veuillez entrez une date : <input onclick="ds_sh(this);" name="date" readonly="readonly" style="cursor: text" /><br />
une heure et le lieu : <input type="text" name="lieu" style="cursor: text" /><br />
et un adversaire : <input type="text" name="adversaire" style="cursor: text" /><br />
<p>
Veuillez entrez une autre date : <input onclick="ds_sh(this);" name="date2" readonly="readonly" style="cursor: text" /><br />
une heure et le lieu : <input type="text" name="lieu2" style="cursor: text" /><br />
et un adversaire : <input type="text" name="adversaire2" style="cursor: text" /><br />
<input type="submit" value="envoyer" />
</div>
</form>
<?php
//on se connecte
mysql_connect("localhost", "lo", "lo");
mysql_select_db("lo");
$text.= 'Erreur : Vous devez remplir au moins une date <br />';
// on teste les variables pour pas surcharger la table
if (!empty($_POST[date])) // si la variable 1ère date existe
{ // alors on teste la seconde date
if (!empty($_POST[date2])) // si la variable 2 existent
{
//On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$date = mysql_real_escape_string(htmlspecialchars($_POST[date]));
$lieu = mysql_real_escape_string(htmlspecialchars($_POST[lieu]));
$adversaire=mysql_real_escape_string(htmlspecialchars($_POST[adversaire]));
$date2 = mysql_real_escape_string(htmlspecialchars($_POST[date2]));
$lieu2 = mysql_real_escape_string(htmlspecialchars($_POST[lieu2]));
$adversaire2=mysql_real_escape_string(htmlspecialchars($_POST[adversaire2]));
//on explose les jour mois année des dates
$dateexpl =explode("-",$date);
$date2expl=explode("-",$date2);
//on calcule les indices timestamp
$vraitstamp = mktime(0, 0, 0, $dateexpl[1], $dateexpl[2], $dateexpl[0]);
$vraitstamp2 = mktime(0, 0, 0, $date2expl[1], $date2expl[2], $date2expl[0]);
$jstamp = (int)($vraitstamp/86400);
$timestamp_date =$jstamp/100;
$jstamp2 = (int)($vraitstamp2/86400);
$timestamp_date2 = $jstamp2/100;
//et alors on envoie les 2 dates dans les 2 tables
mysql_query("INSERT INTO dates_matchs VALUES('', '$date', '$lieu', '$timestamp_date', '$adversaire', '', '', '') ");
mysql_query("INSERT INTO dates_matchs VALUES('', '$date2', '$lieu2', '$timestamp_date2', '$adversaire2', '', '', '')");
// on les affiche pour vérifier
echo "<strong> 1ère date : le $date à $lieu contre $adversaire </strong><br>" ;
echo "<strong> deuxième date :le $date2 à $lieu2 contre $adversaire2 </strong>" ;
}
else { // Sinon,on s'occupe juste de la 1ère date
//On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$date = mysql_real_escape_string(htmlspecialchars($_POST[date]));
$lieu = mysql_real_escape_string(htmlspecialchars($_POST[lieu]));
$adversaire=mysql_real_escape_string(htmlspecialchars($_POST[adversaire]));
//on explose les jour mois année des dates
$dateexpl =explode("-",$date);
//on calcule les timestamp
$vraitstamp = mktime(0, 0, 0, $dateexpl[1], $dateexpl[2], $dateexpl[0]);
$jstamp = (int)($vraitstamp/86400);
$timestamp_date =$jstamp/100;
// et on l'envoie
mysql_query("INSERT INTO dates_matchs VALUES('', '$date', '$lieu', '$timestamp_date', '$adversaire', '', '', '')");
// on l'affiche
echo "<strong> 1ère date : le $date à $lieu contre $adversaire </strong><br>" ;
}
}
//sinon bin aucun champ n'est rempli
else {
echo '<p><strong>'.$text.'</strong></p>';
}
echo "<br>";
echo "<br>";
?>[/php]
donc seuls les $date', '$lieu', '$timestamp_date', '$adversaire
sont envoyés dans la table
et pas les $date2, '$lieu2', '$timestamp_date2', '$adversaire2
et je comprends pas pourquoi
merci de votre aide
:roll: