• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Overige

Forum

  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 4 januari 2026 om 10:58
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Bewerken in Jquery / php dialog werkt niet?

  • aRc0nX
  • 22 december 2015 om 22:52
  • aRc0nX
    Beginner
    Berichten
    3
    • 22 december 2015 om 22:52
    • #1

    ik wist niet zo goed waar ik hem moet plaatsen dus plaats ik hem hier
    Ik heb een klein scriptje geschreven zodat we op het werk alle waarmerkdragers kunnen registreren, alleen nu heb ik de site geupdate en ipv paginas te maken alle formen in een modal dialog gestopt nu werkt het toevoegen van een waarmerkdrager wel maar het bewerken update niet iemand die mijn verder kan helpen

    Vriendelijk bedankt!

    JavaScript: js
    <script>
            function loadData(){
               $.ajax({
                   type: "GET",
                   url: "<?=$url;?>ajax/getWmd.php"
              }).done(function( data ) {
                   $('#viewdata').html(data);
              });
            }
            
            $('#save').click(function(){
    
    
                var organisatie = $('#organisatie').val();
                var website = $('#website').val();
                var logourl = $('#logourl').val();
                var logoalt = $('#logoalt').val();
                var checkurl = $('#checkurl').val();
                var drempelvrij2 = $('#drempelvrij2').val();
                var bouwer = $('#bouwer').val();
                var bouwerurl = $('#bouwerurl').val();
    
    
                var datas="organisatie="+organisatie+"&website="+website+"&logourl="+logourl+"&logoalt="+logoalt+"&checkurl="+checkurl+"&drempelvrij2="+drempelvrij2+"&bouwer="+bouwer+"&bouwerurl="+bouwerurl;
    
    
                $.ajax({
                   type: "POST",
                   url: "<?=$url;?>ajax/newWmd.php",
                   data: datas
                }).done(function( data ) {
                    $('#info').html(data);
                    loadData();
                });
            })
    
    
            $('#edit').click(function(){
    
    
                var id = $('#id').val();
                var organisatie = $('#organisatie').val();
                var website = $('#website').val();
                var logourl = $('#logourl').val();
                var logoalt = $('#logoalt').val();
                var checkurl = $('#checkurl').val();
                var drempelvrij2 = $('#drempelvrij2').val();
                var bouwer = $('#bouwer').val();
                var bouwerurl = $('#bouwerurl').val();
    
    
                var datas="id="+id+"&organisatie="+organisatie+"&website="+website+"&logourl="+logourl+"&logoalt="+logoalt+"&checkurl="+checkurl+"&drempelvrij2="+drempelvrij2+"&bouwer="+bouwer+"&bouwerurl="+bouwerurl;
    
    
                $.ajax({
                   type: "POST",
                   url: "<?=$url;?>ajax/editWmd.php",
                   data: datas
                }).done(function( data ) {
                    $('#info1').html(data);
                    loadData();
                });
            })
            </script>
    Toon Meer
    PHP: editWmd
    <?PHP
    include('../includes/database.inc.php');
    include('../includes/options.inc.php');
    
    
                            if( isset( $_POST['id'] ) != null &&  $_POST['organisatie'] != null && $_POST['organisatie']  != null  &&  $_POST['website'] != null  && ['logourl'] != null && $_POST['logoalt'] != null && $_POST['checkurl'] != null && $_POST['drempelvrij2'] != null )
                                {
                                $query = " UPDATE waarmerkdragers SET organisatie = :organisatie, website = :website, logourl = :logourl, logoalt = :logoalt, checkurl = :checkurl, drempelvrij2 = :drempelvrij2, bouwer = :bouwer, bouwerurl = :bouwerurl WHERE id = :id";  
                                $query_params = array( 
                                    'id' => filter_input(INPUT_POST, 'id'),
                                    ':organisatie' => filter_input(INPUT_POST, 'organisatie'), 
                                    ':website' => filter_input(INPUT_POST, 'website'), 
                                    ':logourl' => filter_input(INPUT_POST, 'logourl'),
                                    ':logoalt' => filter_input(INPUT_POST, 'logoalt'),
                                    ':checkurl' => filter_input(INPUT_POST, 'checkurl'),
                                    ':drempelvrij2' => filter_input(INPUT_POST, 'drempelvrij2'),
                                    ':bouwer' => filter_input(INPUT_POST, 'bouwer'),
                                    ':bouwerurl' => filter_input(INPUT_POST, 'bouwerurl')
                                ); 
                                try 
                                { 
                                    // Execute the query 
                                    $stmt = $db->prepare($query); 
                                    $result = $stmt->execute($query_params); 
                                } 
                                catch(PDOException $ex) 
                                {   
                                    if( $debug ) {
                                        print("<br /><div class='warning'>Failed to run query: " . $ex->getMessage()."</div><br /><br />");                           
                                    }
                                } 
                                print("<br /><div class='succes'>De gegevens van de waarmerkdrager zijn succesvol bewerkt!</div><br /><br />");
                            }
                            else
                            {
                                print("<br /><div class='warning'>Let op: Alle velden zijn verplicht in te vullen.</div><br /><br />");
                            }
    Toon Meer
  • Guest, wil je besparen op je domeinnamen? (ad)
  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 23 december 2015 om 02:02
    • #2

    Wat heb je allemaal geprobeerd?

    1. Heb je gekeken of het aan je DB lag?
    2. Heb je gekeken of de query werkt?
    3. Heb je gekeken of die values gepost/opgenomen worden?
    4. Heb je gekeken of JS goed doorstuurt?

    of wat anders?

    Met vriendelijke groeten,
    Tredgy

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 23 december 2015 om 02:48
    • #3

    En waar zit enige beveiliging? Of kan iedereen dit uitvoeren?

  • aRc0nX
    Beginner
    Berichten
    3
    • 23 december 2015 om 13:50
    • #4
    Citaat van Tredgy

    Wat heb je allemaal geprobeerd?

    1. Heb je gekeken of het aan je DB lag?
    2. Heb je gekeken of de query werkt?
    3. Heb je gekeken of die values gepost/opgenomen worden?
    4. Heb je gekeken of JS goed doorstuurt?

    of wat anders?

    Het was inderdaad de ID die niet goed doorgegeven werd Bedankt!

    Citaat van FangorN

    En waar zit enige beveiliging? Of kan iedereen dit uitvoeren?

    Nee niet iedereen kan dit uitvoeren, Deze pagina's zijn momenteel daarom ook beveiligd bedankt voor de tip!

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 23 december 2015 om 15:26
    • #5

    Enne, jQuery heeft een standaard functie genaamd serialize() waarmee je automatisch een URL-encoded string kunt bouwen.

    Jouw code gebruikt een langere en omslachtigere methode, en encodeert de waarden op dit moment ook helemaal niet... Als er dus gekke tekens in je data zitten die in de URL-encoded context een speciale betekenis hebben bestaat de kans dat de data-string verkeerd wordt uitgelezen aan de ontvangstkant, met onvolledige/corrupte data als gevolg.

    Ook is het altijd van belang dat al je character encoderingen in de pas lopen, vooral als je via AJAX data doorgeeft, klopt het dat al je data ook UTF-8 geëncodeerd is (en utf8 in MySQL)?

    Het bovenstaande kun je eenvoudig testen door eens wat exotische karakters te voeren aan de database via een AJAX-call, met hier en daar ook karakters als &, >, < en enkele en dubbele quotes. Als alles goed wordt weergegeven na opslaan en er ook weer goed uitziet als je deze data weer wilt gaan bewerken (pas dan heb je een volledig rondje gemaakt) dan heb je je werk goed gedaan. Anders... zet je een stevige pot koffie en los je dit alsnog op :).

  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 23 december 2015 om 15:48
    • #6
    Citaat van FangorN

    Enne, jQuery heeft een standaard functie genaamd serialize() waarmee je automatisch een URL-encoded string kunt bouwen.

    Jouw code gebruikt een langere en omslachtigere methode, en encodeert de waarden op dit moment ook helemaal niet... Als er dus gekke tekens in je data zitten die in de URL-encoded context een speciale betekenis hebben bestaat de kans dat de data-string verkeerd wordt uitgelezen aan de ontvangstkant, met onvolledige/corrupte data als gevolg.

    Ook is het altijd van belang dat al je character encoderingen in de pas lopen, vooral als je via AJAX data doorgeeft, klopt het dat al je data ook UTF-8 geëncodeerd is (en utf8 in MySQL)?

    Het bovenstaande kun je eenvoudig testen door eens wat exotische karakters te voeren aan de database via een AJAX-call, met hier en daar ook karakters als &, >, < en enkele en dubbele quotes. Als alles goed wordt weergegeven na opslaan en er ook weer goed uitziet als je deze data weer wilt gaan bewerken (pas dan heb je een volledig rondje gemaakt) dan heb je je werk goed gedaan. Anders... zet je een stevige pot koffie en los je dit alsnog op :).

    Gebruikt MySQL niet automatisch UTF8 codering? en anders mysqli_set_charset();

    Verder ga ik met hem akkoord.

    Met vriendelijke groeten,
    Tredgy

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 23 december 2015 om 16:39
    • #7
    Citaat van Tredgy

    Gebruikt MySQL niet automatisch UTF8 codering? en anders mysqli_set_charset();

    Ik denk dat je het toch anders moet zien. Het antwoord op jouw eerste vraag is waarschijnlijk "nee", vaak is de standaard character encoding nog steeds latin1. Verder lijkt het mij ook onverstandig om uit te gaan van een default, het is veel beter om deze expliciet in te stellen (bijvoorbeeld bij de creatie van de tabel en bij het maken van een connectie).

    Dan misschien handig voor de beeldvorming wat een set_charset() functie doet. Dit moet je zien al een contract tussen jouw applicatie en de database. Dit contract bevat twee bepalingen:
    - jij zorgt ervoor dat alle data die je aanlevert in de overeengekomen character encoding is opgesteld
    - de database zorgt ervoor (of doet in ieder geval een oprechte poging) om alle data die zij teruggeeft aan te leveren in de overeengekomen character encoding

    Dit is dus de "taal" waarmee jullie met elkaar praten, maar dat zegt helemaal niets over welke character encoderingen de tabellen of de data daarin zou moeten hebben en met een set_charset() methode kun je dit ook niet afdwingen omdat dit al is vastlgelegd in de definities van de tabellen zelf.

    Indien jouw website UTF-8 is en jouw database enkel latin1 tabellen bevat kun je dus nog steeds set_charset('utf8') gebruiken: als je iets opvraagt vertaalt MySQL de latin1 data naar utf8 en als je data wegschrijft vertaal MySQL de UTF-8 data naar latin1 (maar dat laatste zal mogelijk niet altijd passen).

    Beschouw set_charset() dus als "de character encoding die je op jouw website wenst te gebruiken". Je moet er dan dus ook zorg voor dragen dat je, als je data wegschrijft naar een database, deze data aanlevert in de overeengekomen character encoding anders gaat het mis.

  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 23 december 2015 om 16:56
    • #8
    Citaat van FangorN

    Ik denk dat je het toch anders moet zien. Het antwoord op jouw eerste vraag is waarschijnlijk "nee", vaak is de standaard character encoding nog steeds latin1. Verder lijkt het mij ook onverstandig om uit te gaan van een default, het is veel beter om deze expliciet in te stellen (bijvoorbeeld bij de creatie van de tabel en bij het maken van een connectie).
    Dan misschien handig voor de beeldvorming wat een set_charset() functie doet. Dit moet je zien al een contract tussen jouw applicatie en de database. Dit contract bevat twee bepalingen:
    - jij zorgt ervoor dat alle data die je aanlevert in de overeengekomen character encoding is opgesteld
    - de database zorgt ervoor (of doet in ieder geval een oprechte poging) om alle data die zij teruggeeft aan te leveren in de overeengekomen character encoding

    Dit is dus de "taal" waarmee jullie met elkaar praten, maar dat zegt helemaal niets over welke character encoderingen de tabellen of de data daarin zou moeten hebben en met een set_charset() methode kun je dit ook niet afdwingen omdat dit al is vastlgelegd in de definities van de tabellen zelf.

    Indien jouw website UTF-8 is en jouw database enkel latin1 tabellen bevat kun je dus nog steeds set_charset('utf8') gebruiken: als je iets opvraagt vertaalt MySQL de latin1 data naar utf8 en als je data wegschrijft vertaal MySQL de UTF-8 data naar latin1 (maar dat laatste zal mogelijk niet altijd passen).

    Beschouw set_charset() dus als "de character encoding die je op jouw website wenst te gebruiken". Je moet er dan dus ook zorg voor dragen dat je, als je data wegschrijft naar een database, deze data aanlevert in de overeengekomen character encoding anders gaat het mis.

    Ahzo, dankjewel weer wat geleerd.

    Met vriendelijke groeten,
    Tredgy

  • aRc0nX
    Beginner
    Berichten
    3
    • 23 december 2015 om 17:36
    • #9
    Citaat van Tredgy

    Gebruikt MySQL niet automatisch UTF8 codering? en anders mysqli_set_charset();
    Verder ga ik met hem akkoord.

    Like this?


  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 23 december 2015 om 20:02
    • #10

    Ik zie geen enkele of dubbele quotes, < punthaken >, en ook geen exotische karakters zoals ë of € of ™ of wat dan ook.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design