gc code omzetten naar ID

Overzicht

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 volgende »

Berta Pappens

Berta Pappens

27/12/2023 14:42:16
Anchor link
Hallo,
Ik heb volgende code en die werkt perfect.
Maar mijn probleem is dat de weergave gebeurd in een ID (<div id="gcCodeIdDiv"></div>)
Ik zou graag de omrekening hebben in een php variable $idcode.

Kan iemand hiermee helpen AUB ?
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>GC Code Converter</title>
  
  <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<div id="gcCodeIdDiv"></div>
  <script>
  <?php
      
      $methode
= "gcCode2Id";
      $code = "GCA84W5";
    ?>


    var method = <?php echo json_encode($methode); ?>;
    var code = <?php echo json_encode($code); ?>;
 
    function convertGCCode(method, chars) {
      if (chars.length > 0) {
        var newDiv = '<b>Result:</b><br>';
      } else {
        $('#gcCodeIdDiv').html('');
        
        return;
      }

      var splitChars = chars.split(' ');

      for (var i = 0; i < splitChars.length; i++) {
        var input = splitChars[i];
        if (method == 'gcCode2Id') {
          input = input.substring(2);
          var srcAlphabet = '0123456789ABCDEFGHJKMNPQRTVWXYZ';
          var dstAlphabet = '0123456789';
        } else {
          var srcAlphabet = '0123456789';
          if (parseInt(input, 10) + 411120 < 476656) {
            var dstAlphabet = '0123456789ABCDEF';
          } else {
            var dstAlphabet = '0123456789ABCDEFGHJKMNPQRTVWXYZ';
            input = (parseInt(input, 10) + 411120).toString();
          }
        }

        var output = convertGC(input, srcAlphabet, dstAlphabet);

        if (method == 'gcCode2Id') {
          if (parseInt(output, 10) < 476656) {
            var srcAlphabet = '0123456789ABCDEF';
            output = convertGC(input, srcAlphabet, dstAlphabet);
          } else {
            output = (parseInt(output, 10) - 411120).toString();
          }
          if (output != 0) {
            newDiv += output + ' ';
          }
        } else {
          if (output != 0) {
            newDiv += 'GC' + output + ' ';
          }
        }
      }

      
      $('#gcCodeIdDiv').html(newDiv);
      
    }

    function convertGC(src, srcAlphabet, dstAlphabet) {
      var srcBase = srcAlphabet.length;
      var dstBase = dstAlphabet.length;
      var wet = src;
      var val = 0;
      var mlt = 1;

      while (wet.length > 0) {
        var digit = wet.charAt(wet.length - 1);
        var digVal = srcAlphabet.indexOf(digit);
        if (digVal > -1) {
          val += mlt * digVal;
          mlt *= srcBase;
        }
        wet = wet.substring(0, wet.length - 1);
      }

      wet = val;
      var ret = "";

      while (wet >= dstBase) {
        var digitVal = wet % dstBase;
        var digit = dstAlphabet.charAt(digitVal);
        ret = digit + ret;
        wet /= dstBase;
      }

      var digit = dstAlphabet.charAt(wet);
      ret = digit + ret;

      return ret;
    }
    convertGCCode(method, code);
</script>

</head>
</html>
 
PHP hulp

PHP hulp

27/04/2024 18:31:06
 
- Ariën  -
Beheerder

- Ariën -

27/12/2023 15:06:30
Anchor link
Met welke reden wil je dit in PHP gebruiken?
 
Berta Pappens

Berta Pappens

27/12/2023 15:09:49
Anchor link
om daarna mijn mysql bestand aan te vullen met $id_code.
ga er dan een lus van maken om mijn bestand af te lopen en de id_code in te vullen ...
 
- Ariën  -
Beheerder

- Ariën -

27/12/2023 15:14:42
Anchor link
Dan moet je de waarde met AJAX naar een PHP-script doorsturen.
 
Berta Pappens

Berta Pappens

27/12/2023 15:18:01
Anchor link
$('#gcCodeIdDiv').html(newDiv); dit is de huidige waarde.
Hoe geef ik die dan door ? dat is mijn vraag aan specialisten.
 
- Ariën  -
Beheerder

- Ariën -

27/12/2023 15:22:41
Anchor link
Kijk hier eens naar hoe fetch() werkt/
https://www.freecodecamp.org/news/how-to-use-fetch-api/

Hiermee kan je de waarde van newDiv doorsturen naar een apart PHP-script die het in een database kan plaatsen.
 
Berta Pappens

Berta Pappens

27/12/2023 15:24:22
Anchor link
oke bedankt
 
Berta Pappens

Berta Pappens

28/12/2023 16:38:13
Anchor link
Ariën,

Ik heb een klein stukje gemaakt met uw aanbeveling AJAX doorsturen, hieronder mijn code index.html(java) script en process_location.php waar het zou moeten gebeuren ???
Maar blijkbaar omdat er in het java script met een ID gewerkt wordt , worden de cords doorgegeven maar keert het terug naar de index, en dit zou niet mogen het zou in het php gedeelte moeten blijven.
Is er hier iemand die mij kan helpen hiermee ????
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
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Locatie weergeven</title>
</head>
<body>
    <h1>Uw huidige locatie</h1>
    <p id="location"></p>

    <script>
        
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        } else {
            document.getElementById("location").innerHTML = "Geolocatie wordt niet ondersteund door uw browser.";
        }

        
        function showPosition(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            document.getElementById("location").innerHTML = "Latitude: " + latitude + "<br>Longitude: " + longitude;

          
            var xhr = new XMLHttpRequest();
            xhr.open("POST", "process_location.php", true);
            xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xhr.send("latitude=" + latitude + "&longitude=" + longitude);
            
        }
    </script>
</body>
</html>

process_location.php
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);


file_put_contents('log.txt', date('Y-m-d H:i:s') . " - Script uitgevoerd\n", FILE_APPEND);


$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];


file_put_contents('log.txt', "Latitude: " . $latitude . ", Longitude: " . $longitude . "\n", FILE_APPEND);


echo "Ontvangen locatie: Latitude " . $latitude . ", Longitude " . $longitude;
exit();
?>


Het probleem is de echo wordt dus niet weergeven op scherm, de ID wel ???
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 16:50:30
Anchor link
Je doet wel een request, maar je doet niks met de output in xhr.responseText.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if (xhr.status >= 200 && xhr.status < 300) {
    // Toon de respons in de console of op een webpagina
    alert(xhr.responseText); // Output naar alert
    // Als je de output op een webpagina wilt tonen, kun je deze bijvoorbeeld in een HTML-element plaatsen met document.getElementById() en innerHTML gebruiken
    // document.getElementById('output').innerHTML = xhr.responseText; // Output naar een HTML-element met id "output"
  } else {
    // Als het verzoek niet succesvol was, toon dan een foutmelding
    alert('Het verzoek is mislukt met statuscode: ' + xhr.status);
  }


Bij AJAX problemen kan het ook geen kwaad om de AJAX-debugger van je browser eens ander te bekijken.
Gewijzigd op 28/12/2023 16:51:24 door - Ariën -
 
Berta Pappens

Berta Pappens

28/12/2023 17:01:26
Anchor link
Arien,

Begrijp het niet goed , die java is ook mijn ding niet.
Begrijp niet als je in java verwijst naar een php , dat het dan terug keert naar java ???


Toevoeging op 28/12/2023 17:02:30:

zoals je ziet doe ik een log file en in die log file is alles juist, waarom blijft het dan niet in deze php
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 17:09:02
Anchor link
Dit heeft niks met Java te maken, maar met JavaScript.
Dat is totaal wat anders, en enkel de naam lijkt erop.

Als je mijn code toevoegt, dan moet je een alert zien met je response. Een console.log() kan ook, en die kan je dan in de debug-console van je browser terugvinden.
 
Berta Pappens

Berta Pappens

28/12/2023 17:12:56
Anchor link
Dan krijg ik dit

Het verzoek is mislukt met statuscode: 0
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 17:35:13
Anchor link
Wat zie je in de debug-console van je browser?
 
Berta Pappens

Berta Pappens

28/12/2023 17:40:17
Anchor link
Breedtegraad: N51° 10.322<br>Lengtegraad: E003° 44.582<br>Ontvangen locatie: Latitude 51.1720345, Longitude 3.7430289

Dat alles goed is , maar waarom keert hhet programma index terug als het process aangeroepen heeft.
Als iemand weet hoe ik in process kan blijven is dat voor mij voldoende , want de gegevens worden goed doorgegeven.
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 17:41:56
Anchor link
Is dat de response van je AJAX request die je in je debug console ziet?

Wat geeft xhr.status in een alert() of console.log()?
Zoals er in het commentaar staat heb je in xhr.responseText je text staan die je in JavaScript verder kan gebruiken. Zoals innerHtml om deze in een HTML-element te plaatsen.
Gewijzigd op 28/12/2023 17:43:15 door - Ariën -
 
Berta Pappens

Berta Pappens

28/12/2023 17:43:12
Anchor link
Het verzoek is mislukt met statuscode: 0
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 17:45:31
Anchor link
Het gaat om je console/network tab van je browser.
Ter voorbeeld:

Dit is de netwerk-tab van de debugger in Firefox.
Afbeelding
 
Berta Pappens

Berta Pappens

28/12/2023 18:04:53
Anchor link
Sorry, maar het gaat erover waarom het terug keert naar de index, terwijl alles goed doorgegeven wordt.
Dus het gaat naar process en keert terug terwijl alles goed doorgegeven wordt, dus er zijn geen fouten ...
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 18:06:09
Anchor link
Dan ben ik benieuwd wat xhr.status meldt.
In de debug-tab kan je het veel makkelijker zien. Daar hoor ik je helaas niet over.
Gewijzigd op 28/12/2023 18:07:24 door - Ariën -
 
Berta Pappens

Berta Pappens

28/12/2023 18:07:03
Anchor link
Het verzoek is mislukt met statuscode: 0
 
- Ariën  -
Beheerder

- Ariën -

28/12/2023 18:08:46
Anchor link
Waar zie je dan dat dat je dit terugkrijgt?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Breedtegraad: N51 10.322<br>Lengtegraad: E003 44.582<br>Ontvangen locatie: Latitude 51.1720345, Longitude 3.7430289


Met andere woorden: Wat heb je gedaan om dit op je scherm te tonen?
 

Pagina: 1 2 volgende »

 

Dit topic is gesloten.



Overzicht

 
 

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.