PHP Undefined offset

Résolu/Fermé
barale61 Messages postés 1206 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 9 mai 2024 - 5 avril 2015 à 17:43
barale61 Messages postés 1206 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 9 mai 2024 - 6 avril 2015 à 21:55
Bonjour,

j'essai de faire un formulaire pour ajouter des données dans une table mysql et j'obtiens l'erreur suivante:

Notice: Undefined offset: 2 in C:\wamp\www\tba\fonctions.php on line 5 (dans ma page de fonction en 3ème script)

le script est ainsi:

<?php include('connexion.php'); ?>
<?php include('fonctions.php'); ?>
<title>Formulaire ajout site</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<link href="style.css" rel="stylesheet" type="text/css" />
<?php
$nom = ( isset($_POST['nom']) )? $_POST['nom'] : ''; 
$url = ( isset($_POST['url']) )? $_POST['url'] : ''; 
$dateCreation = ( isset($_POST['dateCreation']) )? $_POST['dateCreation'] : ''; 
$idTypeCms = ( isset($_POST['idTypeCms']) )? $_POST['idTypeCms'] : ''; 
$dateMiseEnLigne = ( isset($_POST['dateMiseEnLigne']) )? $_POST['dateMiseEnLigne'] : ''; 
$dateDerniereModif = ( isset($_POST['dateDerniereModif']) )? $_POST['dateDerniereModif'] : '';
$nomCms = ( isset($_POST['idTypeCms']) )? $_POST['idTypeCms'] : '';

if (isset($_POST['envoyer'])) {
$reponse = $bdd->prepare('INSERT INTO sites (nom, url, dateCreation, idTypeCms, dateMiseEnLigne, dateDerniereModif) VALUES (:nom,:url,:dateCreation,:idTypeCms,:dateMiseEnLigne,:dateDerniereModif)'); 

$reponse->execute(array(
      ':nom' => $nom,
      ':url' => $url,
      ':dateCreation' => datefrus($dateCreation),
      ':idTypeCms' => $idTypeCms,
      ':dateMiseEnLigne' => datefrus($dateMiseEnLigne),
      ':dateDerniereModif' => datefrus($dateDerniereModif)
  ));
// On ferme la requête avant d'en faire une autre
$reponse->closeCursor();
$reponse = null;
    
?>
<!--<script langage="javascript">
    document.location.href="index.php"
</script>-->            
<?php
}
else {
    
    echo '';
}
?>
<div align="left" id="fiche">
			<h3>Formulaire ajouter un site </h3>
    <div class="conteneur">
        <form action="ajout_site.php" method="post" enctype="multipart/form-data" name="ajoutSite" id="ajoutSite">
        <p><label for "nom">Nom</label></p>
        <p><input type="text" required name="nom" id="nom" /></p>
        <p><label for "URL">URL</label></p>
        <p><input type="url" onfocus='this.value="http://www."' name="url" id="url" /></p>
        <p><label for "dateCreation">Date de création</label></p>
        <p><input style="width:100px" type="date" name="dateCreation" id="dateCreation" /></p>
        <p><label for "typeCms">Type de CMS</label></p>
        
        <!--DEBUT SELECTION DU TYPE DE CMS-->    
<?php
try
{
$reponse = $bdd->query('SELECT * FROM cms ORDER by nomCms ASC');
 ?>    
 <select name="idTypeCms" id="idTypeCms">
 <?php
  while ($donnees = $reponse->fetch())
  {
  ?>
   <p>
   <option value="choix"><?php echo $donnees['nomCms']; ?></option>
  </p>
  <?php
  }
 ?>
    </select>
 <?php
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
?> 
        <!--FIN SELECTION DU TYPE DE CMS--> 
        <p><label for "dateMiseEnLigne">Date d'ajout</label></p>
        <p><input style="width:100px" type="date" name="dateMiseEnLigne" id="dateMiseEnLigne" /></p>
        <p><label for "dateDerniereModif">Date de modification</label></p>
        <p><input style="width:100px" type="date" name="dateDerniereModif" id="dateDerniereModif" /></p>
        <p> </p>
        <p><input type="submit" name="envoyer" id="envoyer" value="Envoyer" /></p>       
        </form>
        
    </div>
    <a href="index.php">Liste des sites</a>
</div>
    

<!--pattern="\d{1,2}/\d{1,2}/\d{4}"-->


avec une page de connexion:

<?php
$host = "127.0.0.1";
$base = "tba";
$login = "root";
$mdp = "";

try
{
	$bdd = new PDO('mysql:host='.$host.';dbname='.$base,$login,$mdp);
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
?>


et une fonction:

<?php
function datefrus($datefr)
{
  $date=explode("/",$datefr);
  return $date[2]."-".$date[1]."-".$date[0];
}
function dateusfr($dateus)
{
  $date=explode("-",$dateus);
  return $date[2]."/".$date[1]."/".$date[0];
}
?>


Je vous remercie de votre aide.
A voir également:

1 réponse

barale61 Messages postés 1206 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 9 mai 2024 110
6 avril 2015 à 21:55
merci beaucoup ça marche bien mon format de date n'était pas bon
0