problème execution else

Répondre
java
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é.

<?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.
LA GLOBULE
le 16/11/2010 à 11:35
LA GLOBULE
Comme dis dans ton autre sujet, arrete de faire des 301 et vérifie les erreurs éventuelles retournées par tes requetes SQL.
java
le 16/11/2010 à 12:18
java
Même en supprimant les 301, le problème n'est pas résolu, et les erreurs éventuelles retournées par la requête est vérifiée.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours