If else runt 2 Functies

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hi allen,

Ik heb is een vraag.
Ik ben een bugtracker aan het bouwen met codeigniter.
Ben momenteel bezig met een back-end maar ergens gebruik ik een if else. Maar als ik de hyperlink naar een functie klik. Runt hij namelijk 2 functies.

view:
code:
1
2
3
4
5
<?php if($Developer->Blocked == "Yes"): ?>
    <a title="UnBlock developer" class="btn btn-xs btn-danger" href="/index.php/developers/Unblock_dev/<?php echo $Developer->id; ?>"><span class="fa fa-unlock"></span></a>
<?php elseif($Developer->Blocked == "No"): ?>
    <a title="Block developer" class="btn btn-xs btn-danger" href="/index.php/developers/Block_dev/<?php echo $Developer->id; ?>"><span class="fa fa-lock"></span></a>
<?php endif; ?>


Controller:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function Block_dev() {
    if($this->session->userdata('logged_in')) {
        $this->Model->Block_dev();
        redirect('developers', 'refresh');
    } else {
        redirect('login');
    }
    }
 
    public function Unblock_dev() {
        if($this->session->userdata('logged_in')) {
            $this->Model->Unblock_dev();
            redirect('developers','refresh');
        } else {
            redirect('login');
        }
    }


model:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function Block_dev() {
        $Value = array(
            'Blocked' => 'Yes',
            );
 
        $this->db->update('users', $Value);
        $this->db->where('id', $this->uri->segment(3));
    }
 
    public function Unblock_dev() {
        $Values = array(
            'Blocked' => 'No',
            );
 
        $this->db->update('users', $Values);
        $this->db->where('id', $this->uri->segment(3));
    }


Echter heb ik al hulp gevraagd op een IRC maar niemand reageerde. Heb ook google gezocht zonder resultaat.
Hoe voorkom ik dat hij 2 ipv 1 functie runt.
Vandaar dat ik hoop dat iemand me via deze weg terug op de goede weg kan helpen.

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wat bedoel je met 'runt 2 functies' ? En wat heeft (volgens jou) die if/else ermee te maken als het pas na het aanklikken van de hyperlink gebeurt? En welke van de 3 if/else's die je toont zou dan niet goed gaan?

[ Voor 18% gewijzigd door ACM op 01-09-2014 08:09 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ACM schreef op maandag 01 september 2014 @ 08:08:
Wat bedoel je met 'runt 2 functies' ? En wat heeft (volgens jou) die if/else ermee te maken als het pas na het aanklikken van de hyperlink gebeurt? En welke van de 3 if/else's die je toont zou dan niet goed gaan?
Kijk die if else. als ik op button klik. Dan loopt er eigenlijk een query over alle rows in men db. Terwijl dat maar 1 row hoeft te zijn. Nu was ik verder aan het denken en denk dat er eventueel iets fout is met die if else.

Acties:
  • 0 Henk 'm!

  • wassup_b
  • Registratie: April 2012
  • Laatst online: 04-09 18:13
Niet dat ik veel ken van CodeIgniter, maar volgens mij moet je de 2 db statements omwisselen (zoals hier aangehaald op SO)

Dus:
PHP:
1
2
$this->db->update('users', $Values);
$this->db->where('id', $this->uri->segment(3));


moet zijn:
PHP:
1
2
$this->db->where('id', $this->uri->segment(3));
$this->db->update('users', $Values);

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
wassup_b schreef op maandag 01 september 2014 @ 11:37:
Niet dat ik veel ken van CodeIgniter, maar volgens mij moet je de 2 db statements omwisselen (zoals hier aangehaald op SO)

Dus:
PHP:
1
2
$this->db->update('users', $Values);
$this->db->where('id', $this->uri->segment(3));


moet zijn:
PHP:
1
2
$this->db->where('id', $this->uri->segment(3));
$this->db->update('users', $Values);
Dat is inderdaad men fout. DANKJE