Verwijderen van pages

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sem E

Sem E

07/11/2012 09:29:15
Quote Anchor link
ik heb deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    if($_POST['sender'] == "opslaan"){
        if (!$_POST['contactpage'] == 1 && $_POST['contactpage']  == 2 &&
        $_POST['contactpage']  == 3 && $_POST['contactgegev'] == 4 &&
        $_POST['contactgegev'] == 2){    // delete Contactpage template 1
            //$del_cptmpl1 = $userdb->q("DELETE FROM pages WHERE id IN('1500011','1500012')");
            //$del_cptmpl2 = $userdb->q("DELETE FROM pages WHERE id IN('1000010','1000012')");

        }
        //dbg ($del_cptmpl1);
        //dbg ($del_cptmpl12);

    }
?>


Als er geen checkbox is gechecked moeten er de pages: 1500011,1500012 en 1000010 en 1000012 verwijderd worden. Ik heb deze query alleen hij werkt niet.
 
PHP hulp

PHP hulp

24/11/2024 16:20:48
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/11/2012 09:35:02
Quote Anchor link
Ik weet het niet maar misschien nog even de class Userdb posten? want $userdb-> wijst naar een instantie van een class elders uit uw code
 
Sem E

Sem E

07/11/2012 09:37:11
Quote Anchor link
Die heb ik al gepost ;) op een andere pagina. en die andere pagina heb ik geinclude.
Dus daar ligt het probleem niet, als ik die dbg niet in commetaar zet ( en de delete query ook niet ) komt er NULL te staan.

Ik denk dat er dus ergens in $del_cptmpl1 een fout zit.
 
Wouter J

Wouter J

07/11/2012 09:43:01
Quote Anchor link
En in $del_cptmpl1 zie we nergens behalve met de verkeerde query. daarom willen we weten wat die bevat en wat die klasse inhoudt.

Tevens kun je even de query in PHPMyAdmin uitvoeren om er zeker van te zijn dat hij werkt.
 
Sem E

Sem E

07/11/2012 09:48:07
Quote Anchor link
Ik heb hem getest in mysql en de query is niet verkeerd. hij verwijderd de rows die ik wel wil hebben. Maar nu wil ik dat als er geen checkbox is geselecteerd en er is toevallig nog een contactpage over. Dat die word verwijderd.


EDIT:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    if($_POST['sender'] == "opslaan"){
        if (!$_POST['contactpage']  == 1 && $_POST['contactpage']  == 2 &&
             $_POST['contactpage']  == 3 && $_POST['contactgegev'] == 1 &&
             $_POST['contactgegev'] == 2){    
                  echo "Ik kom hierlangs!";
            // delete Contactpage template 1
            $del_cptmpl1 = $userdb->q2("DELETE FROM pages WHERE id IN('1500011','1500012')");
            $del_cptmpl2 = $userdb->q2("DELETE FROM pages WHERE id IN('1000010','1000012')");
        }
        
        //dbg ($del_cptmpl1);
        //dbg ($del_cptmpl2);

    }
?>


als ik deze code met een echo in de if ( ik kom erlangs ), en ik voer mijn pagina uit en ik check geen radiobuttons, zie ik niks gebeuren. Ik denk dat hij dus helemaal niet langs de if komt. Dus de if is waarschijnlijk fout.

Toevoeging op 07/11/2012 09:54:58:

Ik heb de fout gevonden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    ///////////////////////////////////////
    // Als er geen van de contactformulieren
    // of van de gegevensformulieren is
    // geselecteerd moet het worden verwijderd.
    //////////////////////////////////////    

    if($_POST['sender'] == "opslaan"){
        if (!$_POST['contactpage']  == 1 && !$_POST['contactpage']  == 2 &&
             !
$_POST['contactpage']  == 3 && !$_POST['contactgegev'] == 1 &&
             !
$_POST['contactgegev'] == 2){    
                  echo "Ik kom hierlangs!";
            // delete Contactpage template 1
            $del_cptmpl1 = $userdb->q2("DELETE FROM pages WHERE id IN('1500011','1500012')");
            $del_cptmpl2 = $userdb->q2("DELETE FROM pages WHERE id IN('1000010','1000012')");
        }
        
        //dbg ($del_cptmpl1);
        //dbg ($del_cptmpl2);

    }
?>


Ik was vergeten voor elke _POST een ! te zetten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
        if (!$_POST['contactpage']  == 1 && !$_POST['contactpage']  == 2 &&
             !
$_POST['contactpage']  == 3 && !$_POST['contactgegev'] == 1 &&
             !
$_POST['contactgegev'] == 2){
?>


nu verwijderd hij de pagina's als ik er geen selecteer. Dus hij werkt.

Allemaal bedankt!
Gewijzigd op 07/11/2012 09:53:11 door Sem E
 
Wouter J

Wouter J

07/11/2012 09:59:21
Quote Anchor link
Ik weet niet of dit wel is zoals het moet. Het tegenovergestelde van a == b is niet !a == b maar a != b.
 
Sem E

Sem E

07/11/2012 10:07:32
Quote Anchor link
@wouter je hebt gelijk, kwam er ook net achter dat t niet goed was. Heb nu de !$_POST weggehaald en van de == een != gemaakt.

Nu doet ie t wel helemaal:

Het resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    ///////////////////////////////////////
    // Als er geen van de contactformulieren
    // of van de gegevensformulieren is
    // geselecteerd moet het worden verwijderd.
    //////////////////////////////////////    

    if($_POST['sender'] == "opslaan"){
        if ( $_POST['contactpage']  != 1 &&  $_POST['contactpage']  != 2 &&
             $_POST['contactpage']  != 3 &&  $_POST['contactgegev'] != 1 &&
             $_POST['contactgegev'] != 2){    
                  echo "Ik kom hierlangs!";
            // delete Contactpage template 1
            $del_cptmpl1 = $userdb->q2("DELETE FROM pages WHERE id IN('1500011','1500012')");
            $del_cptmpl2 = $userdb->q2("DELETE FROM pages WHERE id IN('1000010','1000012')");
            // Delete dynamicmenu template 1
            //$del_dymtmpl1 =

        }        
        //dbg ($del_cptmpl1);
        //dbg ($del_cptmpl2);

    }
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.