le 16/11/2010 à 11:30
java
Bonjour,
Quelqu'un pourrait m'expliquer pourquoi dans le cas ou ma requête est fausse, le else n'est pas éxecuté(ligne 59).
la 1ère condition d'éxistance des 2 variables de formulaires POST s'exécutent bien et dans le cas contraire s'exécute le else de la ligne 68. mais dans le cas ou la requete est fausse il se refuse d'executer le else correspondant et redirige la page automatiquement à invii.php, alors que c'est pas ce qui lui est demandé.
Merci pour vos suggestions.
Quelqu'un pourrait m'expliquer pourquoi dans le cas ou ma requête est fausse, le else n'est pas éxecuté(ligne 59).
la 1ère condition d'éxistance des 2 variables de formulaires POST s'exécutent bien et dans le cas contraire s'exécute le else de la ligne 68. mais dans le cas ou la requete est fausse il se refuse d'executer le else correspondant et redirige la page automatiquement à invii.php, alors que c'est pas ce qui lui est demandé.
<?php
//Recuperation des variables et test des variables $_POST
if(isset($_POST['num_pedido'] ) && ($_POST['codice_materiale']))
{
$pedido=$_POST['num_pedido'];
$materiel=$_POST['codice_materiale'];
//Connection à la BDD
try
{
$bdd = new PDO('mysql:host=localhost;dbname=patiobase', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
// Requete de recherche d'éxistance du numero pedido, code matériel et quantité transportée
$reponse = $bdd -> prepare('SELECT ordre.quantidad, ordre.codigo_proyecto, ordre.numero_pedido, ordre.codigo_materiel, ordre.date_operation, SUM( quantità_trasportata ) AS quantità_trasportata
FROM ordre, registrazioneinvio
WHERE ordre.numero_pedido = registrazioneinvio.pedido_numero
AND ordre.codigo_materiel = registrazioneinvio.material_codigo
AND numero_pedido = ?
AND codigo_materiel = ? ');
$reponse -> execute(array($pedido, $materiel)) or die(print_r($req->errorInfo()));
//Afficher les résultats de la requete
if($donnees = $reponse->fetch())
{
// on démarre la session start
session_start ();
// on enregistre les résultats de la base de donnée comme variables de session(notez bien que l'on utilise pas le $ pour enregistrer ces variables)
$_SESSION['numerop'] = $donnees['numero_pedido'];
$_SESSION['codicem'] = $donnees['codigo_materiel'];
$_SESSION['codicep'] = $donnees['codigo_proyecto'];
$_SESSION['quantità_trasportata'] = $donnees['quantità_trasportata'];
//redirection vers la page invii pour le traitement de la registrazione invio
header('Status: 301 Moved Permanently', false, 301);
header('Location: invii.php');
exit();
}
//traitement du cas ou la requete est erronée, c'est-à-dire du cas ou dans la table registrazioneinvio il n y'a pas de correspondance numero pedido et codice material.
else
{
echo '<strong>Ambos : numero de pedido y codigo material no existen en el orden de pedido</strong>';
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
//Traitement du cas ou les champs numero pedido et numero material ne sont pas tous deux remplis
else
{
?>
<strong>Vous devez vérifier que les deux champs numero pedido et numero material soient remplis<strong/>
<a href="ricerca.php> Retourner à la page de recherche</a>
<?php
}
?>
Merci pour vos suggestions.