UPDATE sur 2 tables

Eléphanteau du PHP | 34 Messages

09 janv. 2014, 17:47

Bon, et bien j'ai testé le script seul, et je n'ai rien: pas de message d'erreur, mais pas de modification non plus dans la base de données...
Du coup, je me demande si je n'ai pas un problème au niveau de mon if, car si je remplace mes requêtes sql par un echo, rien ne s'affiche.

J'ai fait cela:
if(isset($_POST['slug'])){
    checkCsrf();
    $slug = $_POST['slug'];
     if(preg_match('/^[a-z\-0-9]+$/', $slug)){
        $name = $db->quote($_POST['name']);
        $page_id = $db->quote($_POST['page_id']);
        $slug = $db->quote($_POST['slug']);
        $slider = $db->quote($_POST['slider']);
        
        if(isset($_GET['id'])){
            $id = $db->quote($_GET['id']);
            echo "IDDD";
            
        }else{
            echo " pas d'id";
        }
        setFlash('Le slider a bien été ajouté');
        header('Location:slider.php');
        die();
    }else{
        setFlash('Le slug n\'est pas valide', 'danger');
    }
}
Il doit donc y avoir un soucis, soit au niveau du
 if(isset($_POST['slug'])){ ....
soit au niveau du
if(preg_match('/^[a-z\-0-9]+$/', $slug)){ ....
Pourtant, si j'essaye de remplacer par un update simple, cela fonctionne:
if(isset($_POST['slug'])){
    checkCsrf();
    $slug = $_POST['slug'];
     if(preg_match('/^[a-z\-0-9]+$/', $slug)){
        $name = $db->quote($_POST['name']);
        $page_id = $db->quote($_POST['page_id']);
        $slug = $db->quote($_POST['slug']);
        $slider = $db->quote($_POST['slider']);
        
        if(isset($_GET['id'])){
            $id = $db->quote($_GET['id']);
            $update = $db->query("UPDATE sliders SET name=$name, page_id=$page_id, slug=$slug WHERE id=$id");
        }else{
            $db->query("
                 INSERT INTO ....
            ");
        }
        setFlash('Le slider a bien été ajouté');
    header('Location:slider.php');
    die();
    }else{
        setFlash('Le slug n\'est pas valide', 'danger');
    }
}
Qu'en pensez vous? Je suis un peu désemparée là je vous avoue..