未定义索引php,检查日期,多语言选项


Undefined index php, checking the date, multilangue option

我是Ania,我是论坛的新手,能找到这样的地方真是太好了!!我刚刚开始了我的编程冒险,希望从现在开始它只会越来越好^ ^。

所以我正在做一个作业,

    <form method="post" action="date_multilangue.php">
<input type="text" length="10" name="date" > <br> <br>

    <select name="lang" >
        <option value="fr" selected> Français </option>
        <option value="en"> Anglais </option>
    </select>
    <br> <br>
    <input type="submit" value="Soumettre">

现在我的php文件:
 <html>
<head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
$date = $_POST['date'];

$langue = $_POST['lang'];
$date_explose = implode("-",explode("/", $date) );
global $ts;
$ts = strtotime($date_explose);
function verif_date($date_saisie) {
    $date = explode("/",$date_saisie); // On récupère la date saisie
    // var_dump($date);
    // Pré contrôle des saisies de l'utilisateur avant vérification date
    if((count($date)==3) && (is_numeric($date[0])) && (is_numeric($date[1])) && (is_numeric($date[2])) )
    {
        // Vérification simple
        $jour = $date[0];
        $mois = $date[1];
        $annee = $date[2];
        if (checkdate($mois, $jour, $annee))
        { // La date est valide
            return true;
        } 
        else
        {
            return false;
        }
    }
    else
    {
        return false;
    }
} // Fin de la fonction

function ladate($lang, $ts) {
    $jour_semaine = date("w", $ts);
    $jour_mois = date("j",$ts);
    $mois_numerique = date("n",$ts);
    $annee = date("Y",$ts);
        $jour['fr'] = array("Dimanche","Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
        $mois['fr'] = array(1 => "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
        $jour['us'] = array("Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
        $mois['us'] = array(1 => "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    $intro = "";
    if ($langue == 'fr') {
            $intro .= "La date est le";
        } elseif ($langue == ' en') {
            $intro .= "The date is";
        }
        echo " $intro" . " {$jour[$lang][$jour_semaine]} $jour_mois {$mois[$lang][$mois_numerique]} $annee";
        echo "<br/>";
}
if(verif_date($date)) {
    ladate($langue, $ts);
}

当我提交表单时,我得到错误:

 Notice: Undefined index: en in C:'wamp'www'php_imapp'exo_seance11'date_multilangue.php on line 74
Call Stack
#   Time    Memory  Function    Location
1   0.0004  257304  {main}( )   ..'date_multilangue.php:0
2   0.0005  258272  ladate( )   ..'date_multilangue.php:80

如果您能给我一些解决这个问题的建议,我将非常感激。

提前感谢!

第74行:

echo " $intro" . " {$jour[$lang][$jour_semaine]} $jour_mois {$mois[$lang][$mois_numerique]} $annee";

这是php的正确代码:

    <?php

 $date = $_POST['date'];
 $lang = $_POST['lang'];

    $date_explose = implode("-",explode("/", $date) );
    global $ts;
    $ts = strtotime($date_explose);
    function verif_date($date_saisie) {
        $date = explode("/",$date_saisie); // On récupère la date saisie
        // var_dump($date);
        // Pré contrôle des saisies de l'utilisateur avant vérification date
        if((count($date)==3) && (is_numeric($date[0])) && (is_numeric($date[1])) && (is_numeric($date[2])) )
        {
            // Vérification simple
            $jour = $date[0];
            $mois = $date[1];
            $annee = $date[2];
            if (checkdate($mois, $jour, $annee))
            { // La date est valide
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    } // Fin de la fonction

    function ladate($lang, $ts) {
        $langue = $_POST['lang'];
        $jour_semaine = date("w", $ts);
        $jour_mois = date("j",$ts);
        $mois_numerique = date("n",$ts);
        $annee = date("Y",$ts);
        $jour['fr'] = array("Dimanche","Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
        $mois['fr'] = array(1 => "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
        $jour['en'] = array("Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
        $mois['en'] = array(1 => "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
        $intro = "";
        if ($lang == 'fr') {
            $intro = "La date est le";
        } elseif ($lang == 'en') {
            $intro = "The date is";
        }
        echo " $intro" . " {$jour[$lang][$jour_semaine]} $jour_mois {$mois[$lang][$mois_numerique]} $annee";
        echo "<br/>";
    }

    if(verif_date($date)) {
        ladate($lang, $ts);
    }
?>