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

PHP & Base de données Discussion :

Formulaire PHP Oracle [Oracle]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut Formulaire PHP Oracle
    Bonjour à tous, je suis débutant et je viens de découvrir la programmation web.

    J'ai donc créer un page qui répertorie une liste de news qui provient de ma base de donnée , jusqu'ici aucune soucis j'arrive à faire afficher les news, mais j'ai décidé de faire un formulaire qui permet de créer une news.

    Voici le formulaire
    Nom : formulaire.PNG
Affichages : 314
Taille : 1,5 Ko
    et le code du Formulaire
    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
    <html>
    <head>
    <title>Ajouter une Actualité</title>
    </head>
    </html>
    <?php session_start();
    require('function_news.php');
    if (!isset($_SESSION['mat'])) {header('Location: index.php'); exit();}
    if  ((isset($_POST['AUTEURNEWS2']) && !empty($_POST['AUTEURNEWS2']))
            && (isset($_POST['CONTENUNEWS2']) && !empty($_POST['CONTENUNEWS2']))
            && (isset($_POST['TITRENEWS2']) && !empty($_POST['TITRENEWS2']))){
                ajouter_actualite($_POST['AUTEURNEWS2'],$_POST['CONTENUNEWS2'],$_POST['TITRENEWS2']);
            }
            else
            {
                $erreur = 'Au moins un des champs est vide.';
            }
        ?>
     
    <div class="container-contact100">
     
            <div class="wrap-contact100">
                <form method="post" class="contact100-form validate-form" action="../actualite.php">
     
                        <input class="input100" type="text" name="AUTEURNEWS2" placeholder="Auteur" value="<?php if(isset($_POST['AUTEURNEWS2'])) echo htmlentities(trim($_POST['AUTEURNEWS2']));?>"/>
                        <span class="focus-input100"></span>
     
     
                        <input class="input100" type="text" name="TITRENEWS2" placeholder="Titre de l'Actualité" value="<?php if(isset($_POST['TITRENEWS2'])) echo htmlentities(trim($_POST['TITRENEWS2']));?>"/>
                        <span class="focus-input100"></span>
     
                        <input class="input100" type="text" name="CONTENUNEWS2" placeholder="Le Contenu" value="<?php if(isset($_POST['CONTENUNEWS2'])) echo htmlentities(trim($_POST['CONTENUNEWS2'])) ;?>"/>
                        <span class="focus-input100"></span>
     
                    <div class="container-contact100-form-btn">
     
                            <span>
                                <i class="fa fa-paper-plane-o m-r-6" aria-hidden="true"> Envoyer
                                <input type="submit" name="actualite" value="Actualite" class="contact100-form-btn"></i>                           
                            </span>
                    </div>
                    <!--<input type="hidden" name="IDNEWS2" value="<?php// echo $id_news; ?>"/>
                    <input type="hidden" name="DATENEWS2" value="<?php// echo $date ;?>"/>-->
                </form>
            </div>
        </div>
    J'ai oublié de dire que ma table se compose de 5 champs : IDNEWS2, TITRENEWS2,AUTEURNEWS2, CONTENUNEWS2,DATENEWS2.

    J'ai également créer une séquence autoincrement pour l'idnews.

    Le problème est que dès lors que je rempli le formulaire, il ne se passe rien, aucun ajout n'a été fait dans la base de donnée

    Voici ma fonction news

    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
    function ajouter_actualite($TITRENEWS2, $CONTENUNEWS2, $AUTEURNEWS2)
    {
    $TITRENEWS2 = $_POST['TITRENEWS2'];
    $CONTENUNEWS2 = $_POST['CONTENUNEWS2'];
    $AUTEURNEWS2 = $_POST['AUTEURNEWS2'];
    try
    {
    base = connexion_base2();
    $stid = oci_parse($base,"INSERT INTO NEWS2 VALUES(AUTOINCREMENT_PK.nextval,:TITRENEWS2,:CONTENUNEWS2,:AUTEURNEWS2,TO_DATE(sysdate,'DD/MM/YYYY HH24:MI'))" or die ('Erreur création actualité'.oci_error($base)));
    oci_bind_by_name($stid, ':TITRENEWS2', $TITRENEWS2);
    oci_bind_by_name($stid, ':CONTENUNEWS2', $CONTENUNEWS2);
    oci_bind_by_name($stid, ':AUTEURNEWS2', $AUTEURNEWS2);
    $req = oci_execute($stid,oci_no_auto_commit);
    oci_commit($base);
    oci_free_statement($stid);
    oci_close($base);
    }
    catch (Exception $ex)
    {
    die('Erreur : '.$e->getMessage());
    }
    }

    Je ne comprends pas d'ou vient mon erreur , je n'ai aucun message d'erreur.

    Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    Salut,

    Tu devrais essayer ta requête dans oracle pour voir déjà si tu as un problème de syntaxe. Ensuite tu peux essayer la méthode https://www.php.net/manual/fr/function.oci-error.php . Ton execute te retourne false?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    Oui j'ai testé ma requête et elle est fonctionnelle, j'ai ajouté le oci_error mais cela ne m'affiche rien, et le execute ne me renvoie rien c'est justement ça que je comprends pas de même que il ne passe pas par le catch donc cela devrait être bon mais ça ne l'ai pas

  4. #4
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    Dans le oci_error tu passes bien ta chaîne de connexion? vérifie avec oci_error avec le commit je crois qu'il y'a un drop de l'erreur sinon. Autre solution test un insert simple sans bind et regarde si cela insert bien

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    J'ai bien mis le oci_error avec ma chaîne de connexion, je l'avais déjà mis en plus après la oci_parse dans le or die , mais cela ne m'affiche toujours pas de message d'erreur , j'ai alors inséré sans les binds mais pareil aucun effet , j'ai l'impression que lors du passage au formulaire il ne passe pas par la fonction parce que s'il passait par la fonction et qu'il rencontrait un problème alors il irait directement dans le catch de la fonction et afficherai un message d'erreur.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    C'est bon j'ai réussi à faire marcher le formulaire. J'ai donc supprimer le function et j'ai remplacé les paramètres qu'il y avait dans la requête par des variables que j'ai déclarait un peu juste au dessus de ma requête.

    J'ai également changer la redirection du formulaire vers le fichier où il y avait la requête et j'ai ensuite dans la fonction fait dès lors que l'insertion a marché j'ai fait une redirection vers la liste des actualités

    Je vous met mon code en dessous pour les intéressés

    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
    <div class="container-contact100">
     
            <div class="wrap-contact100">
                <form method="post" class="contact100-form validate-form" action="function_news.php">
     
                        <input class="input100" type="text" name="AUTEURNEWS2" placeholder="Auteur" value=""/>
                        <span class="focus-input100"></span>
     
     
                        <input class="input100" type="text" name="TITRENEWS2" placeholder="Titre de l'Actualité" value=""/>
                        <span class="focus-input100"></span>
     
                        <input class="input100" type="text" name="CONTENUNEWS2" placeholder="Le Contenu" value=""/>
                        <span class="focus-input100"></span>
     
                            <input type="submit" value="Poster la News" name="actualite"/>                           
                    <a href="../actualite.php">Retour</a>
     
                </form>
            </div>
        </div>
    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
    <?php
    // Création fonction ajouter actualité avec requete + création des variables
     
    include 'config_actu.php';
     
        try
        {
            if(isset($_POST['AUTEURNEWS2'])) $AUTEURNEWS2=$_POST['AUTEURNEWS2'];
            else $AUTEURNEWS2="";
            if(isset($_POST['TITRENEWS2'])) $TITRENEWS2=$_POST['TITRENEWS2'];
            else $TITRENEWS2="";
            if(isset($_POST['CONTENUNEWS2'])) $CONTENUNEWS2=$_POST['CONTENUNEWS2'];
            else $CONTENUNEWS2="";
     
            $base = connexion_base2() or die('Erreur de connexion '.oci_error());      
            $insert = oci_parse($base,"INSERT INTO NEWS2 VALUES(SQ_AUTOINCREMENT.NEXTVAL,'$AUTEURNEWS2','$CONTENUNEWS2','$TITRENEWS2',TO_DATE(sysdate,'DD/MM/YYYY'))");
            oci_execute($insert);
            echo "<font size='50'>Votre Actualité a été ajoutée <br><br>";
            echo "<font size='50'>Redirection vers la liste des actualités dans 5 secondes";
            header ("Refresh: 5 ;URL= ../actualite.php"); exit();
     
        }
        catch (Exception $e)
        {
            die('Erreur : '.$e->getMessage());
        }
     
     
    ?>
    Merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Formulaire php + bdd = perte des sauts de ligne html ?
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/10/2005, 11h19
  2. PHP & MySQL => PHP & ORACLE , INTERVAL ?
    Par kailly dans le forum Oracle
    Réponses: 1
    Dernier message: 26/07/2005, 12h22
  3. PHP & Oracle distant : installation ?
    Par Grubshka dans le forum Oracle
    Réponses: 28
    Dernier message: 15/06/2005, 08h59
  4. PHP + Oracle + PL/ SQL
    Par bchristo dans le forum SQL
    Réponses: 12
    Dernier message: 28/04/2004, 15h49

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