Undefinded property / jQuery error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Bart Jans

Bart Jans

11/11/2019 18:08:46
Quote Anchor link
Hallo,

ik probeer een ACL permissie systeem in PHP te maken om gebruikers toestemming te geven om info van bepaalde instrumenten te zien, of deze terug in te trekken.
Ik heb een edit pagina aangemaakt met een tabel met een lijst van deze instrumenten, plus een icoon om te klikken om toestemming te geven/in te trekken.
Als ik op het icoon klik krijg ik echter jQuery melding "iets ging verkeerd". Als ik de code wat verander krijg ik ook undefined property errors. Ben al een paar dagen aan het zoeken wat fout is, maar zit wat vast. Kunnen jullie helpen aub, of weten jullie een bestaand voorbeeld van dergelijk systeem ?

Stuk van de code :

in de Edit.php :
<tbody>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
              foreach($this->instruments as $instrument): ?>

<tr data-id="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$instrument->id?>
">
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$instrument->name?>
</td>
<td class="text-right">
<a class="btn btn-sm btn-outline-info mr-1" onclick="toggleAcl('
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$instrument->id,$this->users->id?>
');return false;">
<i data-id="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$instrument->id?>
" class="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=($instrument->id == 0)? 'fas fa-star': 'far fa-star'?>
"></i>
</a>
</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php endforeach; ?>

</tbody>
<script>
function toggleAcl(id,user_id){
jQuery.ajax({
url: '
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=PROOT?>
adminusers/toggleAcl',
method: "POST",
data : {id : id, user_id : user_id},
success : function(resp) {
if(resp.success){
var el = jQuery('i[data-id="'+resp.model_id+'"]');
var klass = (resp.acl)? 'fas' : 'far';
el.removeClass("fas far");
el.addClass(klass);
alertMsg(resp.msg,'success');
} else {
alertMsg(resp.msg, 'danger');
}
}
});
}
</script>

in de controller :
public function toggleAclAction(){
$resp = ['success'=>false,'msg'=>'Iets ging verkeerd'];
if($this->request->isPost()){
$id = $this->request->get('id');
$user_id = $this->request->get('user_id');
$user = adminUsers::findByUserId2($user_id);
$instrument = Instruments::findById($id);
if($instrument){
Users::addAcl($user->id,$instrument->name);
$msg = "Right added.";
$resp = ['success' => true, 'msg' => $msg,'model_id' => $id,'acl'=>$user->acl];
}
else {
// Users::removeAcl($user_id,$instrument->name);
// $msg = "Right removed.";
// $resp = ['success' => true, 'msg' => $msg,'model_id' => $id,'acl'=>$user_id->acl];
}
}
$this->jsonResponse($resp);
}

Dank bij voorbaat !
 
PHP hulp

PHP hulp

02/07/2020 13:59:52
 
- Ariën -
Beheerder

- Ariën -

11/11/2019 18:19:00
Quote Anchor link
Zou je jouw code tussen code-tags willen plaatsen voor betere leesbaarheid? Zie ook de Veelgestelde Vragen.
 
Bart Jans

Bart Jans

11/11/2019 18:55:57
Quote Anchor link
Dag Ariën, ok sorry. Tweede poging :)

In mijn edit.php, tabel om beschikbare instrumenten weer te geven :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<tbody>
              <?php
              foreach($this->instruments as $instrument): ?>

                <tr data-id="<?=$instrument->id?>">
                  <td><?=$instrument->name?></td>
                  <td class="text-right">
                    <a class="btn btn-sm btn-outline-info mr-1" onclick="toggleAcl('<?=$instrument->id,$this->users->id?>');return false;">
                      <i data-id="<?=$instrument->id?>" class="<?=($instrument->id == 0)? 'fas fa-star': 'far fa-star'?>"></i>
                    </a>
                  </td>
                </tr>
              <?php endforeach; ?>
            </tbody>

Onderaan edit.php, de jQuery toggle :
<script>
function toggleAcl(id,user_id){
  jQuery.ajax({
    url: '<?=PROOT?>adminusers/toggleAcl',
    method: "POST",
    data : {id : id, user_id : user_id},
    success : function(resp) {
      if(resp.success){
        var el = jQuery('i[data-id="'+resp.model_id+'"]');
        var klass = (resp.acl)? 'fas' : 'far';
        el.removeClass("fas far");
        el.addClass(klass);
        alertMsg(resp.msg,'success');
      } else {
        alertMsg(resp.msg, 'danger');
      }
    }
  });
}
</script>

In mijn controller file, de toggleAction :

public function toggleAclAction(){
    $resp = ['success'=>false,'msg'=>'Something went wrong...'];
    if($this->request->isPost()){
      $id = $this->request->get('id');
      $user_id = $this->request->get('user_id');
      $user = adminUsers::findByUserId2($user_id);
      $instrument = Instruments::findById($id);
      if($instrument){
        Users::addAcl($user->id,$instrument->name);
        $msg = "Toestemming gegeven.";
        $resp = ['success' => true, 'msg' => $msg,'model_id' => $id,'acl'=>$user->acl];
      }
    }
    $this->jsonResponse($resp);
  }
 



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.