#URLEncoding
Explore tagged Tumblr posts
Text
What is the definition of a PHP encoded string?
The definition of a PHP encoded string is a string that has been processed or manipulated using PHP, often for purposes like encryption, serialization, or encoding special characters for safe data transmission and storage.
Base64 Encoding: PHP can encode data into a base64 string, which is a common method for encoding binary data into a text string. For example:Original Binary Data: Hello, World!Base64 Encoded String: SGVsbG8sIFdvcmxkIQ==
URL Encoding: PHP can encode special characters in a URL to ensure they are transmitted and processed correctly. For example:Original URL: https://example.com/search?q=white&blackURL Encoded String: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dwhite%26black
HTML Encoding: PHP can encode characters to their HTML entities to prevent cross-site scripting (XSS) vulnerabilities. For example:Original HTML: <script>alert("Hello, World!");</script>HTML Encoded String: <script>alert("Hello, World!");</script>
JSON Encoding: PHP can encode data into a JSON string, which is commonly used for data exchange between a server and a web application. For example:Original Data: {"name": "John", "age": 30}JSON Encoded String: {"name": "John", "age": 30}
#PHP#EncodedStrings#DataEncoding#WebDevelopment#Programming#Base64#URLEncoding#HTMLEncoding#JSONEncoding#PHPDevelopment#DataSecurity#WebDev#Tech#Coding#DataProtection#DataTransmission
1 note
·
View note
Text
Simplify Your Encoding Needs with Our URL Encode Tool!
Coding and need to encode a URL? Our URL Encode tool has got you covered! Enter your URL, press encode, and let the magic happen. Streamline your workflow with this hassle-free tool.
0 notes
Link
Online URL Encoder / Decoder
0 notes
Note
OlĂĄ, boa tarde. Por favor, vocĂȘ poderia fazer um tutorial ensinando como compartilhar posts do tumblr para outros sites? E que dĂȘ pra customizar os Ăcones, como os que vc usa no Anyh'sTheme? Seu tumblr Ă© maravilhoso. Estou fazendo um theme do zero e aqui estĂĄ me ajudando muito. Tenha um 2024 maravilhoso.
Oi! Fico feliz em estar ajudando, obrigada! đ
Pra fazer os botĂ”es de compartilhamento que eu uso, eu fui literalmente atrĂĄs do link de compartilhamento de cada rede social que eu incluĂ ali. Eu fui pesquisando no Google "facebook share button", "whatsapp share button" e etc. DaĂ peguei o link de compartilhamento de cada um, personalizei com as tags do Tumblr, peguei os Ăcones do FontAwesome e fiz os botĂ”es dentro do theme utilizando HTML e CSS.
Mas alguns deles devem nĂŁo estar funcionando mais devido a algumas mudanças recentes no cĂłdigo dos posts do Tumblr e tambĂ©m Ă mudanças recentes em algumas dessas redes sociais (como o Twitter, que mudou de nome e Ăcone). EntĂŁo eu teria que resolver isso primeiro e eu ando com muito pouco tempo livre no momento, por isso talvez eu demore pra conseguir postar um tutorial detalhado e bem organizado. Mas pra te dar um empurrĂŁozinho, vou te dar um exemplo...
Ah, e vocĂȘ vai precisar incluir as tags do link, tĂtulo, descrição ou imagem do post nas URLs de compartilhamento. Pra isso vocĂȘ vai precisar entender um pouco de como usar variĂĄveis em URLs.
Aqui vai um exemplo utilizando o link de compartilhamento do Blogger (que atĂ© a Ășltima vez que eu chequei ainda estava funcionando)... Esse Ă© o link para compartilhar no Blogger:
https://www.blogger.com/blog-this.g?u={Permalink}?spref=bl&n={block:PostSummary}{URLEncodedPostSummary}{/block:PostSummary}&t={block:Text}{URLEncodedBody}{/block:Text}{block:Answer}{URLEncodedQuestion}{Name} respondeu:{URLEncodedAnswer}{/block:Answer}
Explicando:
Ali, na frente de "u=" deve ir a URL do link permanente do post, entĂŁo eu usei a tag {Permalink};
Na frente de "n=" deve ir o tĂtulo do post, entĂŁo eu utilizei a tag {PostSummary} que retorna um resumo do post (com "URLEncoded" na frente, pra evitar que acentos e caracteres especiais façam o link bugar), caso ele nĂŁo tenha tĂtulo;
E na frente de "t=" deve ir o conteĂșdo do post, entĂŁo eu utilizei a tag {Body} e tambĂ©m {Question} e {Answer}, pra quando o post for um post de Ask (mais uma vez com "URLEncoded" na frente das tags, pra evitar que o link bugue).
VocĂȘ pode usar esse link e testar pra entender melhor como funciona.
OBS: Lembrando que essas tags do Tumblr são para os posts, então só funcionam dentro de {block:Post}{/block:Post}. Então o código dos seus botÔes de compartilhamento devem estar em algum lugar entre {block:Post} e {/block:Post} no HTML do seu tema, ou as tags não irão funcionar.
Claro que esse Ă© apenas o link de compartilhamento do Blogger, os de outras redes sociais serĂŁo diferentes, mas Ă© basicamente isso... Cada um vai ter suas variĂĄveis que vocĂȘ vai precisar preencher com as tags corretas dos posts do Tumblr.
~ x ~
Espero ter ajudado em algo. Mas qualquer coisa Ă© sĂł ir pesquisando no Google e conferindo as tags do Tumblr que vocĂȘ pode usar lĂĄ na Documentação sobre Temas.
Tenha um Ăłtimo 2024 vocĂȘ tambĂ©m! đ
13 notes
·
View notes
Text
Listenansichten in FileMaker optimieren/ PHP und FileMaker
Listenansichten in FileMaker optimieren Nach einigen Jahren und vielen 1000 DatensĂ€tzen die neu ins FileMaker-System gekommen sind, war es soweit. Eine spĂŒrbare Verschlechterung der Performance beim Aufbau einer extrem komplexen Listenansicht. Diese Ansicht enthĂ€lt sehr viele Sortierungen, diverse bedingte Formatierungen zum Ein und Ausblenden von Symbolen, Farbgebung etc. Wenn jetzt noch jemand per VPN auf die Datenbank zugreifen wollte, so konnte es einige Zeit dauern bis die ArbeitsfĂ€higkeit hergestellt war. Dabei wurde die Struktur schon ohne Formeln entwickelt. Die schnellste und effektivste Lösung. Alles wird ĂŒber ein WebViewer abgewickelt. Betritt der User das Listen-Layout wird ein Serverscript gestartet, sammelt alle FileMaker Daten und ĂŒbertrĂ€gt diese dann an ein PHP-Script. Bruchteile spĂ€ter, steht die Liste schon zum arbeiten bereit. Da die Liste nur mit Java-Script arbeitet, sind alle Aktionen sehr schnell. Die Daten werden mithilfe eines FileMaker-Skripts vorbereitet und mit Insert from URL an eine PHP-Datei auf dem Server geschickt. Der Request erfolgt als klassischer application/x-www-form-urlencoded-POST-Aufruf. Der Server nimmt die Daten entgegen, bereinigt sie, zerlegt ggf. Pipe-getrennte Listen, und speichert sie in einem assoziativen Array zur weiteren Verarbeitung.
<?php // Daten sĂ€ubern function cleanData($value) { return trim($value); } // Pipe-Werte aufspalten (z.âŻB. '4711|4712|4713') function processPipeSeparatedValues($value) { return array_map('trim', explode('|', $value)); } // POST-Verarbeitung starten if ($_SERVER['REQUEST_METHOD'] === 'POST') { $postData = array_map('cleanData', $_POST); // Weiterverarbeitung folgt... } ?>
Auf der FileMaker-Seite wird der Post so aufbereitet Das PHP-Skript erzeugt eine strukturierte HTML-Tabelle, die ĂŒber CSS und JavaScript erweitert wird. Sticky-Header, Hover-Effekte, Icons, Kartenintegration, alles dabei. Dank JavaScript lassen sich die EintrĂ€ge mit einem Klick sortieren. Nach PLZ, StraĂe oder Kategorie. Auch Gruppierungen sind möglich, z.âŻB. nach Stadtvierteln oder Bezirken, die dynamisch ĂŒber Google Maps Geocoding ermittelt werden.
function sortByPLZ() { const table = document.querySelector("table"); const tbody = table.querySelector("tbody"); const rows = Array.from(tbody.querySelectorAll("tr")); // Entferne alte Gruppenköpfe document.querySelectorAll(".plz-header").forEach(row => row.remove()); // Sortiere Zeilen nach PLZ (Spalte 12, also index 12) rows.sort((a, b) => { const plzA = a.cells[12].textContent.trim(); const plzB = b.cells[12].textContent.trim(); return plzA.localeCompare(plzB, "de", { numeric: true }); }); // Neue Gruppierung einfĂŒgen let currentPLZ = ""; rows.forEach(row => { const plz = row.cells[12].textContent.trim(); if (plz !== currentPLZ) { currentPLZ = plz; const headerRow = document.createElement("tr"); headerRow.className = "plz-header"; const headerCell = document.createElement("td"); headerCell.colSpan = row.cells.length; headerCell.textContent = "PLZ: " + plz; headerRow.appendChild(headerCell); tbody.appendChild(headerRow); } tbody.appendChild(row); }); }
In dieser Ansicht wird unter anderem die Entfernung zu den nĂ€chsten Standorten ermittelt. Nach erfolgter Sortierung ist es sehr schnell möglich AuftrĂ€ge zu verketten bei minimierter Fahrzeit. In dieser Ansicht aber nur berechnet ĂŒber die Haversinsche Formel. Aber es ist ein extrem schneller Anhaltspunkt um AuftrĂ€ge in Gruppen zusammenzufassen. Besonders charmant: Das ganze geht auch ĂŒber die Google Maps API. Die Ansicht dann ĂŒber Google Maps. Ăber das InfoWindows-Fenster lassen sich unendlich viele Informationen einblenden. In meinem Fall kann aus dieser Perspektive schon die Tourenzusammenstellung erfolgen. Es wird die Arbeitszeit ermittelt und kenntlich gemacht. Eine implementierte Fahrzeiten-Anzeige hat sich fĂŒr Berliner-VerhĂ€ltnisse als Unsinnig herausgestellt. Zu viele VerkehrsĂ€nderungen, zu viel Stau, in diesem Fall bedarf es der Erfahrung von Mitarbeitern und Disponenten. Wichtig, ist natĂŒrlich auch die Sequentielle-Suche. Diese kann natĂŒrlich wie schon einmal berichtet, auch in normalen FileMaker-Listen, Anwendung finden. Eine klassische FileMaker angelehnte Suche fehlt natĂŒrlich auch nicht. Hier lassen sich verschieden Kriterien verbinden und ermöglichen eine flexible Suche, Ă€hnlich der klassischen FileMaker-Suche. Das ich im Regelfall innerhalb von FileMaker immer Arbeitslayouts nutze, die im Hintergrund bei -30000 Pixel arbeiten, kann ich aus dem WebViewer heraus, alle FileMaker Script nutzen, die im Vorfeld genutzt wurden. Sie bekommen die Parameter in einer etwas anderen Form, meist als Liste. Somit ist der Aufwand auf der FileMaker-Seite ĂŒberschaubar. Fehlerbehandlung und Fallbacks NatĂŒrlich kann nicht immer alles glattlaufen, etwa wenn der Server nicht erreichbar ist oder die Daten aus FileMaker unvollstĂ€ndig ĂŒbertragen werden. FĂŒr diesen Fall habe ich einen einfachen Mechanismus eingebaut. Wenn keine oder fehlerhafte Daten ankommen, zeigt das Skript entweder eine Hinweisbox oder einen minimalen Fallback-Inhalt an. Dabei ist es wichtig, am Anfang der Datei gleich zu prĂŒfen, ob zentrale POST-Werte gesetzt wurden. Gerade bei VPN-Nutzern oder instabilen Mobilverbindungen ist das hilfreich, der Nutzer bekommt sofort RĂŒckmeldung, statt auf eine leere Seite zu starren.
if (!isset($_POST['touren']) || empty($_POST['touren'])) { die("<div class='error'>Keine Daten empfangen. Bitte erneut versuchen.</div>"); }
Unterschied zwischen FileMaker-Client und Server Eine kleine, aber entscheidende Stolperfalle hat mich bei diesem Projekt einige Nerven gekostet. WĂ€hrend der gesamte Aufbau der Liste ĂŒber den FileMaker Pro Client reibungslos funktionierte, lief das gleiche Script nicht mehr, wenn es ĂŒber ein Server-Script (FileMaker Server) angestoĂen wurde. Die WebViewer-Seite blieb leer. Kein Fehler, kein Hinweis, einfach nichts. Nach lĂ€ngerer Analyse stellte sich heraus, die Anzahl und Verschachtelungen der DOM-Elemente war der Grund. Im Client lief das Rendering noch sauber durch, aber der FileMaker Server scheint bei der Generierung und Ăbergabe des WebViewers, speziell in Kombination mit âInsert from URLïżœïżœïżœ -> WebViewer -> HTML-Rendering, empfindlicher zu reagieren. Besonders bei vielen verschachtelten div-Containern, Tabellen-Inlays und Icon-Ebenen war Schluss. Die Lösung war eher pragmatisch als elegant, ich habe den DOM deutlich verschlankt, viele dekorative Elemente entfernt oder durch schlankere Varianten ersetzt. Statt
mit drei Ebenen fĂŒr Rahmen, Schatten und Hover, verwende ich jetzt.
<tr class="hover"> <td>4711</td> <td>Berlin</td> <td>âŠ</td> </tr>
Und auch bei Zusatzinfos im InfoWindow der Google Maps Ansicht wurde auf alles ĂberflĂŒssige verzichtet. Das Resultat, die Darstellung lĂ€uft jetzt reibungslos auch bei serverseitiger Ăbergabe, ohne dass der WebViewer hĂ€ngen bleibt oder gar leer bleibt. Was bleibt nach dieser Umstellung? Ganz klar, die WebViewer-Lösung ist ein echter Gamechanger fĂŒr groĂe, komplexe Listenansichten in FileMaker. Die Performance ist kaum vergleichbar mit der klassischen Layoutdarstellung, besonders dann, wenn Sortierungen, Gruppierungen und visuelle Hilfsmittel wie Karten gebraucht werden. Eine HTML-Tabelle mit JavaScript schlĂ€gt hier jedes FileMaker-Layout um LĂ€ngen.
0 notes
Text
0 notes
Text
How to Send Form Data Using Axios Post Request in React

Many developers use React, a leading programming language for app development. Industry leaders prefer React for cross-platform application development. A proper understanding of React and the library is essential to work well for the project. If you want to handle react project properly, you can hire react developer and finish the task.
As a React developer, sending form data to a server in react with the Axios. Processing axios is an important javascript library. It is the best way to make HTTP requests from a browser or nodejs. Individuals must understand how to use the Axios to make a post request and send form data.
About Axios:
Axios acts as an HTTP client for JavaScript that works in browser and node.js. It is an easy-to-use and lightweight library that delivers the perfect interface for HTTP requests. Axios can build on top of XMLHttpRequest API and fetch API.Â
On the other hand, it supports promise API and intercepts responses. Axios is responsible for transforming requests, canceling requests, and response data. It is excellent for changing JSON data and provides client-side support to safeguard from the XSRF. It supports browsers like Safari, Mozilla Firefox, Google Chrome, Edge, and IE.
Form data:
Form data is the encoding type that transfers to the server for processing. Other encoding types can be utilized for non-file transfer like plain, text, application/x-www-form-urlencoded, and a lot more. React developer helps you in sending form data in react projects with Axios.
If form-data lets files to include in form data, plain or text propel data as plain text without encoding. It is applicable for debugging and not for production. Application/x-www-form-urlencoded instructs data as a query string. Encoding type can be included in HTML with enctype attribute.Â
Send form data in the Axios request:
Sending form data in the React app to the server is an important task among many developers. Axios is an important library for making HTTP requests quickly in React. You can understand the important process of sending form data in the react project using Axios.Â
While using Axios, developers easily make post requests and set the data they wish to send as a request body. If you carry out this process, you can utilize the Axios.post() method that acquires two arguments. It obtains arguments like server URL and data you need to send.Â
FormData object joins two fields with matching values. It makes HTTP requests to specific URLs with a FormData object. It uses them as a request body and sets the content-type header to multipart or form data.
Once the request is successful, the response can log into the console. If the request is abortive, the error response can log to the console. Using Axios in the project requires installing Axios first. You can install it with the proper command.
Launch react project:
Whether you have a project already, you donât need to launch. If you donât have any projects on your device, you can create them first.Â
You can open a terminal and run the required command.Â
npx create-react-app axios-form
Once project creation is over, you can go to the project directory.
Install axios:
To use Axios for post requests in the React project, you must install it properly. You can use the following command to install the Axios.
npm install axios
After successfully installing the Axios, you can carry out sending the form data in a project with the Axios post request.
Create form component:
When it comes to the React project, you must make a new component for form. You can name it and save it with .js
// src/Form.js
import React, { useState } from âreactâ;
import axios from âaxiosâ;
function Form() {
const [formData, setFormData] = useState({
name: ââ,
email: ââ,
});
const handleChange = (e) => {
const { name, value } = e.target;
setFormData({ âŠformData, [name]: value });
};
const handleSubmit = async (e) => {
e.preventDefault();
try {
const response = await axios.post(âYOUR_API_ENDPOINTâ, formData);
console.log(âForm data submitted successfully:â, response.data);
} catch (error) {
console.error(âError submitting form data:â, error);
}
};
return (
<form onSubmit={handleSubmit}>
<label>
Name:
<input
type=âtextâ
name=ânameâ
value={formData.name}
onChange={handleChange}
/>
</label>
<br />
<label>
Email:
<input
type=â emailâ
name=â emailâ
value={formData.email}
onChange={handleChange}
/>
</label>
<br />
<button type=âsubmitâ>Submit</button>
</form>
);
}
export default Form;
In this component, you can label the form with two input fields. You can utilize the useState hook to deal with form data. Axios is ideal for making the post request when the form submits successfully.
Import and apply form component:
After creating the form component, you need to import and apply the form component to the project.
// src/App.js
import React from âreactâ;
import Form from â./Formâ;
function App() {
return (
<div className=âAppâ>
<h1>React Form with Axios POST Request</h1>
<Form />
</div>
);
}
export default App;
Replace your_api_endpoint:
In the form component, you can replace your_api_endpoint with the actual endpoint. It is easy to send the form data in a project and complete them easily
Run React application:
After the above step is over, it is time to run the React application with the following command like
npm startÂ
React application is running and allows you to access it in the browser. You can fill out the form and click the submit button. You must view the form data that is sent to a specified API endpoint in the browser console. You can try the necessary steps for the form data sending in the project utilizing the Axios post request.Â
Conclusion:
Overall, the above details are useful to understand the process of sending the form data in react with Axios. With the help of a hire react expert, you can get the proper guidance and support to handle this process.Â
Experts assist you in integrating the form component with the server-side endpoint and dealing with the data effectively in a project. Axios makes a form data sending process in the react app development project. So, you can work with the skilled and knowledgeable react expert and obtain an ideal solution for challenges.Â
The React Company : Empowering Developers in React Technology.
Donât Hesitate to Get in Contact for More Info.
#hire react developer#React Development Services#React js development services#hire react js engineers#react js experts
0 notes
Text
Tools and Libraries for URL Encoding/Decoding?
Understanding URL encoding and decoding is essential if youâre building a web application or simply working with web data. There are handy tools and libraries available to simplify this process.
URL encoding is the process of converting characters into a format that can be transmitted over the internet. This is particularly important when dealing with special characters that have specific meanings in URLs, such as spaces or ampersands. On the other hand, URL decoding is the reverse process â converting encoded characters back to their original form.
Understanding URL Encoding and Decoding
Before delving into the tools and libraries, letâs grasp the basics of URL encoding and decoding.
Imagine you have a URL like this:https://www.example.com/search?q=url+decoder
In this URL, the space between âurlâ and âdecoderâ needs to be represented in a way that wonât break the URL structure. This is where encoding comes into play. The space is encoded as â%20â, so the URL becomes:https://www.example.com/search?q=url%20decoder
URL decoding, on the other hand, does the reverse operation. It takes â%20â and converts it back to a space.
Tools for URL Encoding/Decoding
Now, letâs explore some tools and libraries that make URL encoding and decoding a breeze:
URL Decoder/Encoder Websites:
Several online tools allow you to encode or decode URLs instantly. Simply paste your URL into the tool, and it will do the job for you. Examples include URL Decoder and URL Encoder.
Programming Libraries:
For developers, various programming languages provide built-in functions or libraries for URL encoding and decoding.
For instance, in Python, the urllib.parse module offers functions like quote() for encoding and unquote() for decoding URLs.
In PHP, there is methods are called urlencode() and urldecode() that you can use to encode/decode the URL.
Browser Developer Tools:
Most modern web browsers come with developer tools that include URL decoding functionality. These tools are handy for debugging and inspecting URLs directly within the browser.
Conclusion
URL encoding and decoding are fundamental concepts in web development, ensuring that URLs remain valid and functional.
Handling URLs has never been easier with these URL Encoder and URL Decoder tools and libraries available in programming languages.
0 notes
Text
How to send post body using restTemplate as x-www-form-urlencoded

0 notes
Text
0 notes
Text
urllib â How to urlencode a querystring in Python? Python 2
What youre looking for is urllib.quote_plus:
safe_string = urllib.quote_plus(string_of_characters_like_these:$#@=?%^Q^$) #Value: string_of_characters_like_these%3A%24%23%40%3D%3F%25%5EQ%5E%24
Python 3
In Python 3, the urllib package has been broken into smaller components. Youll use urllib.parse.quote_plus (note the parse child module)
import urllib.parse safe_string = urllib.parse.quote_plus(...)
You need to pass your parameters into urlencode() as either a mapping (dict), or a sequence of 2-tuples, like:
>>> import urllib >>> f = { eventName : myEvent, eventDescription : cool event} >>> urllib.urlencode(f) eventName=myEvent&eventDescription=cool+event
Python 3 or above
Use:
0 notes
Text
00001
POST /dashboard/ HTTP/1.1 Host: appsgeyser.com Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8 Content-Length: 993 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Cookie: mv_segment=1; publisher_guid=3cc98ac9-c06e-4c73-8c72-16ee838860b2; _ga=GA1.2.1868722821.1630635407; _ym_uid=1630635410730593246; _ym_d=1630635410; G_ENABLED_IDPS=google; _fbp=fb.1.1630635423199.854879146; categorySelected=business; publisher_id=8107851; newWidget=1; tourShown-premium=0; __stripe_mid=a1c4b78c-c737-4284-a9e6-1eca363c5a8ede3de9; tourShown=0; showlevelup=2; mission_57_8107851=1; _gid=GA1.2.1431217998.1631258302; _ym_isad=2; APSGEYSERSITE=vn5b5mgne59d9ea30kto3n7jvu; APSG_UID=01FF911MYBQVJMM4AXD3KCBMMG; _ym_visorc=w; YII_CSRF_TOKEN=eVpoTHNUZWtwZ0x1SlZ5ckdRQ0xSNHRkaTBPSUMydWV7jOr_XpgMyLo656xuP9wTl2pexqFU0Y15NXUeDkAl_Q%3D%3D; hidePlansPopupDaily=1; __stripe_sid=3cad772b-b0f3-4946-a8d1-1d69822c1f8c896281; activeTime=17; visit_dash_main=17; csi_download=8; _gat_gtag_UA_179316_6=1; mp_c9045a23086f9873b593d45c7b3cb8a5_mixpanel=%7B%22distinct_id%22%3A%20%228107851%22%2C%22%24device_id%22%3A%20%2217ba9720c1221b-05d442d5e79063-516f3d73-1fa400-17ba9720c135a9%22%2C%22%24user_id%22%3A%20%228107851%22%2C%22%24search_engine%22%3A%20%22google%22%2C%22%24initial_referrer%22%3A%20%22https%3A%2F%2Fwww.google.com.hk%2F%22%2C%22%24initial_referring_domain%22%3A%20%22www.google.com.hk%22%2C%22__mps%22%3A%20%7B%7D%2C%22__mpso%22%3A%20%7B%7D%2C%22__mpus%22%3A%20%7B%7D%2C%22__mpa%22%3A%20%7B%7D%2C%22__mpu%22%3A%20%7B%7D%2C%22__mpr%22%3A%20%5B%5D%2C%22__mpap%22%3A%20%5B%5D%2C%22utm_source%22%3A%20%22email%22%7D Origin: https://appsgeyser.com Referer: https://appsgeyser.com/dashboard/download Sec-Ch-Ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Windows" Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 X-Requested-With: XMLHttpRequest
sendAppToEmail=true&emailForApp=<$éźçź±00ć°ć$>
1 note
·
View note
Text
automatisierter UBL-XML-Generator in PHP in Kombination mit FileMaker
WĂ€hrend meiner Arbeit an der serverseitigen PDF-Generierung mit ZUGFeRD wurde mir schnell klar, dass viele Kunden zunehmend auf den UBL-Standard setzen â gerade im internationalen Kontext oder in Verbindung mit elektronischen Rechnungsplattformen. Also habe ich kurzerhand ein eigenes PHP-Skript geschrieben, das auf POST-Daten aus FileMaker oder anderen Quellen reagiert und daraus eine gĂŒltige UBL-Rechnung im XML-Format erstellt. Wie so oft war der Aufbau des XML-Dokuments der anspruchsvollste Teil. Viele Details wie Namespaces, Pflichtfelder und ISO-konforme Datums- und Betragsformate mussten exakt stimmen. AuĂerdem wollte ich vermeiden, dass mein System bei fehlenden Daten abstĂŒrzt â darum habe ich Fallbacks eingebaut und ein eigenes Logging-System integriert. Das Skript liest die Rechnungsdaten, Kunden- und Lieferantendaten sowie die Rechnungspositionen ein, berechnet die Summen und schreibt daraus ein vollstĂ€ndiges XML-Dokument nach dem UBL 2.1-Standard, das sich z.âŻB. auch fĂŒr die XRechnung weiterverwenden lĂ€sst. Die resultierende Datei ist kompatibel mit Plattformen wie PEPPOL, eRechnung.gv.at oder Zentralplattformen der öffentlichen Hand. Die Daten werden in FileMaker gesammelt, das ganze klassisch ĂŒber schleifen. Die Daten werden ĂŒber ein einfaches application/x-www-form-urlencoded-POST-Request ĂŒbergeben. Alle Felder werden als Key-Value-Paare ĂŒbermittelt. Die Rechnungspositionen (line items) sind dabei als kompaktes Raw-String-Feld lineItemsRaw codiert, das einzelne Positionen mit | trennt und innerhalb der Position durch ; strukturiert ist. FileMaker bietet zwar mittlerweile solide Funktionen fĂŒr JSON-Manipulation â aber bei 25+ Feldern und einer schlichten Punkt-zu-Punkt-Kommunikation mit meinem PHP-Skript war mir das einfach zu umstĂ€ndlich. Ich wollte keine JSON-Parser-Bastelei, sondern einfach Daten senden. Daher nutze ich application/x-www-form-urlencoded, was mit curl ohnehin besser lesbar ist und mir in PHP direkt ĂŒber $_POST zur VerfĂŒgung steht. "-X POST " & "--header \"Content-Type: application/x-www-form-urlencoded\" " & "--data " & Zitat ( "invoiceNumber=" & $invoiceNumber & "&invoiceDate=" & $invoiceDate & "&invoiceCurrencyCode=" & $invoiceCurrencyCode & "&invoiceTypeCode=" & $invoiceTypeCode & "&dueDate=" & $dueDate & "&paymentTerms=" & $paymentTerms & "&deliveryTerms=" & $deliveryTerms & "&sellerName=" & $sellerName & "&sellerStreet=" & $sellerStreet & "&sellerPostalCode=" & $sellerPostalCode & "&sellerCity=" & $sellerCity & "&sellerCountryCode=" & $sellerCountryCode & "&sellerTaxID=" & $sellerTaxID & "&lieferschein_nr=" & $lieferschein_nr & "&kunden_nr=" & $kunden_nr & "&buyerName=" & $buyerName & "&buyerStreet=" & $buyerStreet & "&buyerPostalCode=" & $buyerPostalCode & "&buyerCity=" & $buyerCity & "&buyerCountryCode=" & $buyerCountryCode & "&buyerTaxID=" & $buyerTaxID & "&paymentMeansCode=" & $paymentMeansCode & "&payeeFinancialInstitution=" & $payeeFinancialInstitution & "&payeeIBAN=" & $payeeIBAN & "&payeeBIC=" & $payeeBIC & "&paymentReference=" & $paymentReference & "&taxRate=" & $taxRate & "&taxAmount=" & $taxAmount & "&taxableAmount=" & $taxableAmount & "&taxCategoryCode=" & $taxCategoryCode & "&totalNetAmount=" & $totalNetAmount & "&totalTaxAmount=" & $totalTaxAmount & "&totalGrossAmount=" & $totalGrossAmount & "&lineItemsRaw=" & $lineItemsRaw )
$dom = new DOMDocument('1.0', 'UTF-8'); $dom->formatOutput = true; $invoice = $dom->createElementNS( 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2', 'Invoice' ); $invoice->setAttribute('xmlns:cac', 'urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2'); $invoice->setAttribute('xmlns:cbc', 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2'); $dom->appendChild($invoice); // Standardfelder setzen $invoice->appendChild($dom->createElement('cbc:UBLVersionID', '2.1')); $invoice->appendChild($dom->createElement('cbc:CustomizationID', 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0')); $invoice->appendChild($dom->createElement('cbc:ID', $invoiceNumber)); $invoice->appendChild($dom->createElement('cbc:IssueDate', $invoiceDate)); $invoice->appendChild($dom->createElement('cbc:InvoiceTypeCode', '380')); $invoice->appendChild($dom->createElement('cbc:DocumentCurrencyCode', 'EUR'));
Der Aufbau geht dann weiter ĂŒber VerkĂ€ufer- und KĂ€uferdaten, Zahlungsinformationen, steuerliche Angaben und natĂŒrlich die Rechnungspositionen, die als cac:InvoiceLine-Blöcke angelegt werden. Die Daten werden direkt auf dem Server verarbeitet, im Anschluss kann ich die XML-Datei wieder in ein FileMaker-Feld laden (Aus URL einfĂŒgen). Da ich mit horstoeko/zugferd arbeite, wird in der Folgeversion noch die Validierung erfolgen. Die derzeit hĂ€ndische, zeigt alle Werte, keine Fehler, keine Warnungen.
0 notes
Text
Donât want to be marked as Spam? Support one click unsubscribe!
By Marcel Becker, Director Product Management
We are on the final leg of migrating AOL and Yahoo mail to the Verizon Media infrastructure and one great thing about that is we can leverage features from each platform and introduce them to a larger audience. One of them is one-click-unsubscribe. Â
Our mission is to provide the best consumer email experience. That means making sure spam and other unwanted mail is out of our users' mailboxes, while also giving them the best tools to help communicate their changing needs to senders.
One of those features is the ability to unsubscribe from emails that users no longer want in a simple, hassle-free and secure way. We do that in part by leveraging standards like list-unsubscribe headers. To increase coverage and to push those standards further in the industry, all Verizon Media based mailboxes now support one-click-unsubscribe, otherwise known as RFC8058.
This basically means that senders should add headers to their mails which look like this:
List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: <https://example.com/unsubscribe/opaquepart>
Once a user unsubscribes, the sender will get a POST request which looks like this:
POST /unsubscribe/opaquepart HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded Content-Length: 26
List-Unsubscribe=One-Click
Of course we continue to support âmailto:â unsubscribe headers as well.
Check out more about how we expose this feature to our users over at our Yahoo Mail Blog.
We strongly recommend senders to adopt this technology and include those headers as we believe that it will further improve the experience, trust & satisfaction of our mutual customers.
If you have specific questions about how this might affect your email campaigns, donât hesitate and reach out to us at [email protected].
5 notes
·
View notes
Text
URL decoding
https://www.urldecoder.io/ URL decoding is the inverse process of URL encoding. It is used to parse query strings or path parameters passed in URLs. It is also used to decode HTML form parameters that are submitted with application/x-www-form-urlencoded MIME format URLs, as you might know, can only contain a limited set of characters from the US-ASCII character set. These characters includeâŠ
View On WordPress
0 notes