IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire + script php en 1 fichier.


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Formulaire + script php en 1 fichier.
    Bonjour la Communauté de Developpez. J'ai une petite question pour vous j'aimerais alléger le nombre de fichier des scripts php de mon petit projet actuel... Je suis un peu rouillez je me remets a la programmation web après 10 ans d'absence dans le domaine! Avez vous le liens vers un tutorial qui m'aiderais... Sinon je post mes sources d'un des formulaires.

    Fichier : Form-add-heures.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    <?Php
     
    // inclure le fichier de connection a la bdd
     
    include "config.php" ;
     
    // Demarer la session
     
    session_start();
     
    // Si aucune session est detecter on redirige vers la page de connection
     
    if(!isset($_SESSION['username']) || empty($_SESSION['username'])){
     
      header("location: login.php");
     
      exit;
     
    }
     
    // Lire des donnees dans la bdd
     
    $sql = $bddconnection->query('SELECT nom_projet FROM heures');
     
    // fermeture de la connection Mysql
     
    mysqli_close($bddconnection);
     
    ?>
     
    <!DOCTYPE html>
     
        <html lang="fr">
        <head>
        <meta charset="UTF-8">
        <title>Enregistrement des heures travaillées</title>
     
    <!-- Css -->
     
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
        <style type="text/css">
            body{padding-top:20px;}
       </style>
     
    </head>
     
    <body>
            <div class="container">
            <div class="row">
            <div class="col-md-4 col-md-offset-4">
            <div class="panel panel-default">
            <div class="panel-heading">
            <h3 class="panel-title">Enregistrer vos heures merci!</h3>
            </div>
            <div class="panel-body">
     
    <form action="s" method="post">
     
            <p>
     
                <div class="form-group" label for="nom_projet">Nom du projet:</label>
     
                <select class="select"  type="text" name="nom_projet" id="nomProjet"> 
     
    <?php 
     
        while ($table = mysqli_fetch_array($sql)) 
            {
        echo "<option value='" . $table['nom_projet'] . "'>" . $table['nom_projet'] . "</option>";
            }
     
    ?>
     
                 </select>
     
     
            </p>
     
            <p>
     
                <div class="form-group" label for="dates">Date :</label>
     
                <input class="form-control"  type="date" name="dates" id="dates">
     
            </p>
     
            <p>
     
                <div class="form-group" label for="heureDebut">Heure debut:</label>
     
                <input class="form-control"  type="time" name="heure_debut" id="heureDebut">
     
            </p>
     
            <p>
     
                <div class="form-group" label for="fin">Heure de sortie:</label>
     
                <input class="form-control" type="time" name="heure_fin" id="fin">
     
            </p>
     
            <p>
     
                <div class="form-group" label for="notes">Commentaires :</label>
                <textarea rows="10" cols="40" class="form-control"  type="text" name="commentaires" id="commentaires" ></textarea>
     
            </p>
     
                <input class="btn btn-lg btn-success btn-block" type="submit" value="Submit">
     
            </div>
        </p>
    </div>
    </p>
    </form>
    </div>
    </div>
    </div>
    </div>
    </div>
     
        </form>
     
        </body>
     
        </html>
    fichier : send-new-heures.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?php
     
    // inclure le fichier de connection a la bdd
     
    include "config.php" ;
     
    // Demarer la session
     
    session_start();
     
    // Si aucune session est detecter on redirige vers la page de connection
     
    if(!isset($_SESSION['username']) || empty($_SESSION['username'])){
     
      header("location: login.php");
     
      exit;
     
    }
     
    // Verification de la connection
     
        if($bddconnection === false){
     
            die("ERREUR: Imposible de se connecter. " . mysqli_connect_error());
     
        }
     
    // Declaration des variable ....
     
        $nom_employe = $_SESSION['username'] ;
     
        $nom_projet = mysqli_real_escape_string($bddconnection, $_REQUEST['nom_projet']);
     
        $dates = mysqli_real_escape_string($bddconnection, $_REQUEST['dates']);
     
        $heure_debut = mysqli_real_escape_string($bddconnection, $_REQUEST['heure_debut']);
     
        $heure_fin = mysqli_real_escape_string($bddconnection, $_REQUEST['heure_fin']);
     
        $commentaires = mysqli_real_escape_string($bddconnection, $_REQUEST['commentaires']);
     
        $ip = $_SERVER["REMOTE_ADDR"] ;
     
    // Enregistrement des donnees dans la bdd
     
        $sql = "INSERT INTO heures (nom_employe , dates, nom_projet, heure_debut, heure_fin, commentaires, ip) VALUES ('$nom_employe', '$dates', '$nom_projet', '$heure_debut', '$heure_fin', '$commentaires', '$ip')";
     
        if(mysqli_query($bddconnection, $sql)){
     
            echo "Enregistrement reussi.";
     
        } else{
     
            echo "ERREUR: Imposible d'executer la demande $sql. " . mysqli_error($bddconnection);
     
        }
     
    // fermeture de la connection Mysql
     
        mysqli_close($bddconnection);
     
    ?>
    Un gros merci et j'ai bien hâte de lire vos réponses merci!

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Citation Envoyé par Le_Coyote Voir le message
    J'ai une petite question pour vous j'aimerais alléger le nombre de fichier des scripts php de mon petit projet actuel...
    C'est pas une question, c'est un souhait.
    TU veux factoriser ton code ?
    J'ai pas trop compris ce que tu recherchais.

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    C'est probablement un code qui est construit comme suit :
    n tables en base = n*4 scripts côté applicatif (le CRUD)...
    Pour une table toto, on a un script toto_insert.php, toto_update.php, toto_delete.php, toto_select.php.
    J'ai connu ça dans le temps quand on m'a demandé de récupérer des applis produite avec un générateur de code : dbQwikSite...
    Approche orientée base, pas si bête pour de l'informatique de gestion... mais une horreur à maintenir bien sûr !
    Alors c'était juste utile pour faire des démos vite fait mal fait quand on avait terminé une modélisation en base... Pas fait pour autre chose.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Je n'ai pas compris la question. Certainement parce qu'il n'y en a pas.
    Ni d'explication quant à la simplification à apporter.

    2- pour ne parler que du HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="form-group" label for=".........">.......:</label>
    Y'a comme un défaut...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="s" ..........>
    "s" ?

    Je vois aussi 2 balises </form>

    Donc :
    • Corrige la structure et syntaxe HTML.


    A LIRE :
    Dernière modification par Invité ; 08/06/2018 à 12h17.

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    à Le_Coyote:
    Tu veux alléger comment les fichiers?
    Tu peux par exemple enlever les accolades quand elles ne sont pas utiles si tu veux gagner quelques bytes

    à jreaux62:

    c'est possible d'avoir un <form action="s"...
    si il utilise le .htaccess, ça existait déja ya 10 ans

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/12/2012, 21h32
  2. Mettre le résultat d'un script php dans un fichier
    Par ledawa dans le forum Langage
    Réponses: 15
    Dernier message: 22/08/2008, 09h44
  3. [Configuration] Script PHP concaténant un fichier texte
    Par redvivi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/11/2007, 13h44
  4. Checkbox dans formulaire + script php
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo