<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programming &#8211; Mario Chivale ♦ Personal Website</title>
	<atom:link href="https://www.mario.chivale.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mario.chivale.com</link>
	<description>Mario Chivale Personal Website ♦ IT • Informatyka • Computer Science • Elektronika • Electronics • Elektryka • Electricity</description>
	<lastBuildDate>Wed, 01 May 2024 09:39:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>How to disable certificate validation in Symfony Mailer</title>
		<link>https://www.mario.chivale.com/how-to-disable-certificate-validation-in-symfony-mailer/</link>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Wed, 01 May 2024 09:34:01 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[TIPS]]></category>
		<category><![CDATA[cerificate]]></category>
		<category><![CDATA[EsmtpTransportFactory]]></category>
		<category><![CDATA[EsmtpTransportFactory.php]]></category>
		<category><![CDATA[FILTER_VALIDATE_BOOLEAN]]></category>
		<category><![CDATA[Mailer]]></category>
		<category><![CDATA[peer]]></category>
		<category><![CDATA[self signed]]></category>
		<category><![CDATA[self signed certificate]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[tls]]></category>
		<category><![CDATA[transport]]></category>
		<category><![CDATA[verify]]></category>
		<category><![CDATA[verify_peer]]></category>
		<category><![CDATA[verify_peer_name]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=832</guid>

					<description><![CDATA[To disable certificate validation &#8220;verify_peer&#8221;, edit file: symfony/mailer/Transport/Smtp/EsmtpTransportFactory.php Search line: if (&#8221; !== $dsn-&#62;getOption(&#8216;verify_peer&#8217;) &#38;&#38; !filter_var($dsn-&#62;getOption(&#8216;verify_peer&#8217;, true), \FILTER_VALIDATE_BOOLEAN)) { and replace with this line or set true to false: if (&#8221; !== $dsn-&#62;getOption(&#8216;verify_peer&#8217;) &#38;&#38; !filter_var($dsn-&#62;getOption(&#8216;verify_peer&#8217;, false), \FILTER_VALIDATE_BOOLEAN)) { also if this line below are true, change to false: $streamOptions[&#8216;ssl&#8217;][&#8216;verify_peer&#8217;] = false; $streamOptions[&#8216;ssl&#8217;][&#8216;verify_peer_name&#8217;] = false;]]></description>
										<content:encoded><![CDATA[<p>To disable certificate validation &#8220;verify_peer&#8221;, edit file:<br />
symfony/mailer/Transport/Smtp/EsmtpTransportFactory.php</p>
<p>Search line:<br />
if (&#8221; !== $dsn-&gt;getOption(&#8216;verify_peer&#8217;) &amp;&amp; !filter_var($dsn-&gt;getOption(&#8216;verify_peer&#8217;, <strong>true</strong>), \FILTER_VALIDATE_BOOLEAN)) {</p>
<p>and replace with this line or set <strong>true</strong> to <strong>false</strong>:<br />
if (&#8221; !== $dsn-&gt;getOption(&#8216;verify_peer&#8217;) &amp;&amp; !filter_var($dsn-&gt;getOption(&#8216;verify_peer&#8217;, <strong>false</strong>), \FILTER_VALIDATE_BOOLEAN)) {</p>
<p>also if this line below are true, change to false:<br />
$streamOptions[&#8216;ssl&#8217;][&#8216;verify_peer&#8217;] = <strong>false</strong>;<br />
$streamOptions[&#8216;ssl&#8217;][&#8216;verify_peer_name&#8217;] = <strong>false</strong>;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP 8.3 Debian 12 Instalacja</title>
		<link>https://www.mario.chivale.com/php-8-3-debian-12-instalacja/</link>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 06:14:30 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[8.3]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache 2]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PHP 8]]></category>
		<category><![CDATA[php 8.3]]></category>
		<category><![CDATA[php8]]></category>
		<category><![CDATA[php8.3]]></category>
		<category><![CDATA[server]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=791</guid>

					<description><![CDATA[Debian 12 + Apache 2 + Obsługa PHP 3 Zakładając, iż masz już poprawnie zainstalowany system Debian 12 w wersji 12, oraz serwer stron www (internetowych), a nie masz obsługi PHP w wersji 8.3, postępuj wedle poniższych kroków: Przygotowanie do instalacji: apt-get update &#38;&#38; apt-get upgrade -y apt install ca-certificates apt-transport-https software-properties-common lsb-release curl -sSL [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Debian 12 + Apache 2 + Obsługa PHP 3</p>
<p>Zakładając, iż masz już poprawnie zainstalowany system Debian 12 w wersji 12, oraz serwer stron www (internetowych), a nie masz obsługi PHP w wersji 8.3, postępuj wedle poniższych kroków:</p>
<p><strong>Przygotowanie do instalacji</strong>:</p>
<pre>apt-get update &amp;&amp; apt-get upgrade -y
apt install ca-certificates apt-transport-https software-properties-common lsb-release
curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
apt-get update &amp;&amp; apt-get upgrade -y</pre>
<p><strong>Przykładowa instalacja w konfiguracji</strong>:</p>
<pre>apt install php8.3 php8.3-cgi php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-http php8.3-imagick php8.3-imap libapache2-mod-fcgid libapache2-mod-php8.3 php8.3-maxminddb php8.3-mbstring php8.3-memcache php8.3-memcached php8.3-mysql php8.3-oauth php8.3-opcache php8.3-pgsql php8.3-redis php8.3-soap php8.3-xml php8.3-xsl php8.3-yaml php8.3-zip -y
a2enmod proxy_fcgi setenvif
a2enconf php8.3-fpm
systemctl restart apache2</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP MySQL Connect to Database PDO</title>
		<link>https://www.mario.chivale.com/php-mysql-connect-to-database/</link>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Sun, 21 Jan 2024 06:03:44 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CONNECT]]></category>
		<category><![CDATA[Connection]]></category>
		<category><![CDATA[DATABASE]]></category>
		<category><![CDATA[DB Connect]]></category>
		<category><![CDATA[DB Connection]]></category>
		<category><![CDATA[PDO]]></category>
		<category><![CDATA[PHP Code]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=766</guid>

					<description><![CDATA[Below is a sample PHP code, that after configuration, can be used to connect to your database. &#60;?php $DBType = "mysql"; $DBHost = "database-host"; $DBPort = "3306"; $DBEnco = "utf-8"; $DBUser = "database-user"; $DBPass = "database-password"; $DBName = "database-name"; try { $DBCon=new PDO("$DBType:host=$DBHost;port=$DBPort;encoding=$DBEnco;dbname=$DBName",$DBUser,$DBPass); $DBCon-&#62;setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); // Connected } catch(PDOException $DBError) { // Not Connected echo '&#60;strong&#62;'.$DBError-&#62;getMessage().'&#60;/strong&#62;'; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Below is a sample PHP code, that after configuration, can be used to connect to your database.</p>
<pre>&lt;?php
$DBType = "mysql";
$DBHost = "database-host";
$DBPort = "3306";
$DBEnco = "utf-8";
$DBUser = "database-user";
$DBPass = "database-password";
$DBName = "database-name";
try {
$DBCon=new PDO("$DBType:host=$DBHost;port=$DBPort;encoding=$DBEnco;dbname=$DBName",$DBUser,$DBPass);
$DBCon-&gt;setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
// Connected
} catch(PDOException $DBError) {
// Not Connected
echo '&lt;strong&gt;'.$DBError-&gt;getMessage().'&lt;/strong&gt;';
exit;
}
?&gt;</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MySQL Commands</title>
		<link>https://www.mario.chivale.com/mysql-commands/</link>
					<comments>https://www.mario.chivale.com/mysql-commands/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Thu, 01 Jun 2023 05:02:22 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ALTER]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Command]]></category>
		<category><![CDATA[Commands]]></category>
		<category><![CDATA[CONNECT]]></category>
		<category><![CDATA[Connections]]></category>
		<category><![CDATA[FLUSH]]></category>
		<category><![CDATA[Host]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[SELECT]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[user]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=614</guid>

					<description><![CDATA[Some of the most important SQL commands Connect to MySQL Server: mysql -u UserName -p Show Users: SELECT user FROM mysql.user; Show Users and Hosts: SELECT user,host FROM mysql.user; Change Password for User: ALTER USER 'UserName'@'Host' IDENTIFIED BY 'NewPassword'; FLUSH PRIVILEGES; If you have any questions, write your question bellow in the &#8220;Leave a Reply&#8221; [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Some of the most important SQL commands</h1>
<p><strong>Connect to MySQL Server</strong>:</p>
<pre>mysql -u UserName -p</pre>
<p><strong>Show Users</strong>:</p>
<pre>SELECT user FROM mysql.user;</pre>
<p><strong>Show Users and Hosts</strong>:</p>
<pre>SELECT user,host FROM mysql.user;</pre>
<p><strong>Change Password for User</strong>:</p>
<pre>ALTER USER 'UserName'@'Host' IDENTIFIED BY 'NewPassword';
FLUSH PRIVILEGES;</pre>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<p style="text-align: justify;"><strong>MySQL</strong> is an <strong>open source</strong>, multi-dimensional, relational <strong>database management system</strong>. It is an essential tool for any webmaster/designer/developer, and to get started using it, one must understand the basic commands available.</p>
<p style="text-align: justify;">The most commonly used <strong>MySQL</strong> command is <strong>SELECT</strong>, which lets you query a database table for specific information. This is followed by <strong>INSERT</strong>, which inserts values into an existing row in the database table. <strong>UPDATE</strong> is also used to modify an existing record in the database, while <strong>DELETE</strong> removes an entry from the table. Other commands are used to create, alter, or drop a table, query a database, control user access, and export and import data.</p>
<p style="text-align: justify;"><strong>One of the most important MySQL commands</strong> is <strong>CREATE TABLE</strong>, which lets you add a new table to a database. This must be followed by the table name, the column names and the data types for each column. To delete a table, the <strong>DROP</strong> command is used. <strong>ALTER TABLE</strong> can be used to add, delete, modify, or rename a column within a table. The <strong>TRUNCATE</strong> command is used to delete all records from a table without dropping the entire table.</p>
<p style="text-align: justify;">Once a table has been added, <strong>MySQL</strong> commands must be used to store, modify, and query data that is stored within the table. For example, the <strong>INSERT</strong> command is used to add a row to an existing table. The <strong>UPDATE</strong> command lets you modify existing values in the table, while <strong>SELECT</strong> is used to search for data within the table.</p>
<p style="text-align: justify;">In addition to the above commands, there are many other MySQL commands that are commonly used. These may include commands to set up user accounts, create stored procedures, create triggers, export data, back up data, and more. MySQL commands should be learned and mastered by anyone who needs to manage or work with a complex database. With the help of these commands, a user can create and manipulate database tables, store and modify data, and query a database.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/mysql-commands/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>mysqldump Backup Database and mysql Restore Database</title>
		<link>https://www.mario.chivale.com/mysqldump-backup-database-and-mysql-restore-database/</link>
					<comments>https://www.mario.chivale.com/mysqldump-backup-database-and-mysql-restore-database/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Sun, 21 May 2023 04:54:43 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[backing up]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[backup database]]></category>
		<category><![CDATA[backup databass]]></category>
		<category><![CDATA[buckups]]></category>
		<category><![CDATA[DATABASE]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[restore database]]></category>
		<category><![CDATA[restore databases]]></category>
		<category><![CDATA[restoring]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[user]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=552</guid>

					<description><![CDATA[Below are examples of backing up databases and examples of restoring database backups. Backup: mysqldump -u [user] -p[password] [db_name] &#62; /path/to/file.sql Restore: mysql -u [user] -p[password] [db_name] &#60; /path/to/file.sql If you have any questions, write your question bellow in the &#8220;Leave a Reply&#8221; form. Thanks! &#160; — Artificial Intelligence Comment — • Database backups are [&#8230;]]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Below are examples of <strong>backing up databases</strong> and examples of <strong>restoring database</strong> backups.</p>
<p><strong>Backup</strong>:<br />
mysqldump -u [user] -p[password] [db_name] &gt; /path/to/file.sql</p>
<p><strong>Restore</strong>:<br />
mysql -u [user] -p[password] [db_name] &lt; /path/to/file.sql</p>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>— Artificial Intelligence Comment —</strong></div>
<div align="center">•</div>
<p style="text-align: justify;">Database backups are essential for any website or service. A <strong>mysqldump</strong> backup database is one of the most reliable and straightforward methods you can use to keep your data safe. It allows you to create a backup of your entire MySQL database, which can then be used to restore your database in case of an emergency.</p>
<p style="text-align: justify;">The <strong>mysqldump</strong> backup database process is relatively simple. First, you will need to logon to your server with the root user and access the MySQL prompt. From here, you can run the mysqldump command with the necessary parameters. These parameters include the database name, the user name, and the location where the dump should be stored. After you&#8217;ve issued the command, the backup database file will be created.</p>
<p style="text-align: justify;">If something goes wrong and you need to restore the database, the <strong>mysql</strong> restore database process is also fairly easy. You will first need to create a new empty database using the MySQL command prompt. After that, you can run the mysql command with the appropriate information to ingest the database dump file. This will restore the database to its original state.</p>
<p style="text-align: justify;">It&#8217;s important to remember that a <strong>mysqldump</strong> backup database is only one part of a comprehensive backup solution. You should also back up any important files such as configuration files or user data. Additionally, make sure to keep your backup files safe and secure, as they contain sensitive information about your website or service.</p>
<p style="text-align: justify;">In conclusion, the <strong>mysqldump</strong> backup database and <strong>mysql</strong> restore database processes are simple and effective ways of ensuring the safety of your database. By taking the necessary steps to regularly back up your database, you can ensure that your data will remain safe, even in the event of a disastrous situation.</p>
<p style="text-align: justify;">Backing up and restoring databases is a critical process in managing any database. One of the most common methods for backing up and restoring a MySQL database is to use mysqldump. <strong>mysqldump</strong> is a specialized utility written specifically for backing up and restoring MySQL data. It is considered one of the most reliable and powerful tools for backing up and restoring MySQL databases.</p>
<p style="text-align: justify;">Using the <strong>mysqldump</strong> command, you can easily save an entire database or just certain tables within that database. It will also allow you to export the data into a text file which is formatted in SQL commands that can later be used to re-create the entire database and/or tables. This makes it easy to back up an entire database or to copy it to another location.</p>
<p style="text-align: justify;">Restoring a database using <strong>mysqldump</strong> is almost as simple as backing it up. To restore a database, you must first create the database and then execute the SQL commands found in the text file. Once the commands have been successfully executed, the database will be restored and updated with the previously backed up data.</p>
<p style="text-align: justify;">In order to use the <strong>mysqldump</strong> utility correctly, it is important to understand all of its command line options. For example, the -u option is used to specify the user that will be used to connect to the server. The -p option indicates that the connection password will need to be supplied while the -h option allows you to specify the hostname of the server.</p>
<p style="text-align: justify;">Backing up and restoring databases with <strong>mysqldump</strong> is a reliable and powerful method for managing MySQL databases. With its easy-to-use command line options and ability to export SQL commands, <strong>mysqldump</strong> is the preferred tool for backing up and restoring MySQL data.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/mysqldump-backup-database-and-mysql-restore-database/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Detect Browser Language in PHP</title>
		<link>https://www.mario.chivale.com/detect-browser-language-in-php/</link>
					<comments>https://www.mario.chivale.com/detect-browser-language-in-php/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Mon, 15 May 2023 04:44:50 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[$_SERVER]]></category>
		<category><![CDATA[$_SERVER['HTTP_ACCEPT_LANGUAGE']]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[Browser Language]]></category>
		<category><![CDATA[detect]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[global variable]]></category>
		<category><![CDATA[HTTP_ACCEPT_LANGUAGE]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[locale_accept_from_http]]></category>
		<category><![CDATA[Locale::acceptFromHttp]]></category>
		<category><![CDATA[substr]]></category>
		<category><![CDATA[variable]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=540</guid>

					<description><![CDATA[You can detect browser language using PHP global variable $_SERVER, exactly $_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;] EXAMPLES: 1. &#60;?php $BLang= Locale::acceptFromHttp($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]); echo $BLang; // Return: en ?&#62; 2. &#60;?php $BLang= locale_accept_from_http($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]); echo $BLang; // Return: en ?&#62; 3. Using substr function to get the first two letters of the string. &#60;?php $BLang = substr($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;], 0, 2); echo $BLang; // Return: [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1 lang="en-US" style="text-align: justify;">You can detect browser language using PHP global variable $_SERVER, exactly $_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]</h1>
<p lang="en-US"><span style="text-decoration: underline;"><strong>EXAMPLES</strong></span>:</p>
<p lang="en-US"><strong>1</strong>.<br />
&lt;?php<br />
$BLang= Locale::acceptFromHttp($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]);<br />
echo $BLang; // Return: en<br />
?&gt;</p>
<p lang="en-US"><strong>2</strong>.<br />
&lt;?php<br />
$BLang= locale_accept_from_http($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]);<br />
echo $BLang; // Return: en<br />
?&gt;</p>
<p lang="en-US"><strong>3</strong>. Using <strong>substr</strong> function to get the first two letters of the string.<br />
&lt;?php<br />
$BLang = substr($_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;], 0, 2);<br />
echo $BLang; // Return: en<br />
?&gt;</p>
<p lang="en-US"><strong>4</strong>. Example of global variable <strong>$_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]</strong><br />
&lt;?php<br />
$BLang = $_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;];<br />
echo $BLang; // Return: en,en-US;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7,en-CA;q=0.6,en-IE;q=0.5,en-AU;q=0.4,en-NZ;q=0.3,en-ZA;q=0.2,de;q=0.1,de-DE;q=0.1,de-AT;q=0.1,de-CH;q=0.1,de-LI;q=0.1,pl;q=0.1,pt;q=0.1,pt-PT;q=0.1,pt-BR;q=0.1<br />
?&gt;</p>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>— Artificial Intelligence Comment —</strong></div>
<div align="center">•</div>
<p style="text-align: justify;">Detecting browser language is an important process for websites that cater to multiple audiences in different countries and languages. In this guide, we’ll discuss how to detect a user’s browser language in PHP.</p>
<p style="text-align: justify;">In today’s globalized world, it has become increasingly important for websites to be able to detect users&#8217; browser languages to provide a personalized experience. This is even more relevant for websites that offer content or services in multiple languages and cater to a wide audience.</p>
<p style="text-align: justify;">Fortunately, detecting a user’s browser language in PHP is an easy process. The most common way to detect a user’s browser language is through their <strong>HTTP Accept-Language header</strong>. This header contains the list of language codes that the user’s browser supports.</p>
<p style="text-align: justify;">To detect and analyze the Accept-Language header, we can use the <strong>$_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]</strong> variable. It is a comma-separated string of language codes ordered by priority according to the user.</p>
<p style="text-align: justify;">Once you have the contents of the Accept-Language header, you can parse and analyze it. To do this, use the <strong>PHP explode()</strong> function. This function will break up the comma-separated list into an array of language codes.</p>
<p style="text-align: justify;">Using the array of language codes, you can loop through each one and test if it is one of the languages supported by your website. If any of the languages in the list are supported by your website, you can set it as the language for that user.</p>
<p style="text-align: justify;">In conclusion, detecting a user’s browser language in PHP is a relatively simple process. With the help of the <strong>$_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]</strong> variable and the <strong>explode()</strong> function, it is possible to parse and analyze the user’s language preferences and provide them with a personalized experience. This can be an important factor in providing an intuitive user experience across a wide variety of users.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/detect-browser-language-in-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Visitor IP Address</title>
		<link>https://www.mario.chivale.com/visitor-ip-address/</link>
					<comments>https://www.mario.chivale.com/visitor-ip-address/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Sun, 14 May 2023 09:44:37 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[IP Address]]></category>
		<category><![CDATA[PHP Code]]></category>
		<category><![CDATA[PHP Sample]]></category>
		<category><![CDATA[Real IP]]></category>
		<category><![CDATA[real ip address]]></category>
		<category><![CDATA[sample]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=519</guid>

					<description><![CDATA[This bellow PHP code help you get a real IP address visitors of your website. &#60;?php function GetUserIP() { if(isset($_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;])) { $_SERVER[&#8216;REMOTE_ADDR&#8217;] = $_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;]; $_SERVER[&#8216;HTTP_CLIENT_IP&#8217;] = $_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;]; } $client = @$_SERVER[&#8216;HTTP_CLIENT_IP&#8217;]; $forward = @$_SERVER[&#8216;HTTP_X_FORWARDED_FOR&#8217;]; $remote = $_SERVER[&#8216;REMOTE_ADDR&#8217;]; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">This bellow PHP code help you get a real IP address visitors of your website.</h1>
<p>&lt;?php<br />
function GetUserIP() {<br />
if(isset($_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;])) {<br />
$_SERVER[&#8216;REMOTE_ADDR&#8217;] = $_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;];<br />
$_SERVER[&#8216;HTTP_CLIENT_IP&#8217;] = $_SERVER[&#8220;HTTP_CF_CONNECTING_IP&#8221;];<br />
}<br />
$client = @$_SERVER[&#8216;HTTP_CLIENT_IP&#8217;];<br />
$forward = @$_SERVER[&#8216;HTTP_X_FORWARDED_FOR&#8217;];<br />
$remote = $_SERVER[&#8216;REMOTE_ADDR&#8217;];<br />
if(filter_var($client, FILTER_VALIDATE_IP)) {<br />
$ip = $client;<br />
} elseif (filter_var($forward, FILTER_VALIDATE_IP)) {<br />
$ip = $forward;<br />
} else {<br />
$ip = $remote;<br />
}<br />
return $ip;<br />
}<br />
?&gt;</p>
<p>&lt;?php<br />
$UserIP = GetUserIP();<br />
echo $UserIP;<br />
?&gt;</p>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>— Artificial Intelligence Comment —</strong></div>
<div align="center">•</div>
<p style="text-align: justify;">A visitor IP address is the unique identifier that websites use to identify and track a device (e.g. a computer or mobile device) when a user visits a webpage. Each time a user visits a website, their computer or device is assigned an IP address from the Internet Service Provider (ISP) that allows the site to recognize the IP address of the device which is used to log the visits. When a device connects to the internet, it is assigned an IP address which is a unique numerical code that is used to identify it on the network.</p>
<p style="text-align: justify;">The visitor IP address is a useful tool for webmasters as it allows them to gain valuable insights about the visitors that access their site. With the IP address, webmasters can track a user’s geographical location, determine whether the visitor has been to the website before and even which browser and operating system they are using to access the page. This data can then be used to personalize the page content to better serve the visitor.</p>
<p style="text-align: justify;">By tracking visitor IP addresses, website owners can also track potentially malicious attempts to access a website. This information can be used to identify malicious actors and enhance the overall security of the website.</p>
<p style="text-align: justify;">Generally, a website visitor’s IP address is securely encrypted and is not publicly visible as it passes through multiple networks, making it difficult to trace back to the user. However, some websites may accidentally retain an IP address or unintentionally log a visitor&#8217;s IP address, which can potentially be used for malicious purposes.</p>
<p style="text-align: justify;">In conclusion, visitor IP address is a powerful and useful tool for website owners as it allows them to gain valuable insights into their visitors and proactively protect their website. While visitor IP addresses should remain encrypted so as not to cause any security threats, website owners should take extra precautions to ensure that their visitors&#8217; private data is protected.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/visitor-ip-address/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPMailer Disable SMTP SSL Certificate Verification in PHP</title>
		<link>https://www.mario.chivale.com/phpmailer-disable-smtp-ssl-certificate-verification-in-php/</link>
					<comments>https://www.mario.chivale.com/phpmailer-disable-smtp-ssl-certificate-verification-in-php/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Thu, 11 May 2023 07:38:57 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[allow_self_signed]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Mailer]]></category>
		<category><![CDATA[Options]]></category>
		<category><![CDATA[PHPMailer]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[SMTP SSL]]></category>
		<category><![CDATA[SMTPAutoTLS]]></category>
		<category><![CDATA[SMTPOptions]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[verify_peer]]></category>
		<category><![CDATA[verify_peer_name]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=515</guid>

					<description><![CDATA[How to disable checking of the mail serves certificate in PHPMailer code SMTP Options $mail-&#62;SMTPOptions = [ &#8216;ssl&#8217; =&#62; [ &#8216;verify_peer&#8217; =&#62; false, &#8216;verify_peer_name&#8217; =&#62; false, &#8216;allow_self_signed&#8217; =&#62; true, ] ]; If you have any questions, write your question bellow in the &#8220;Leave a Reply&#8221; form. Thanks! &#160; &#8212; Artificial Intelligence Comment &#8212; &#8226; Recently, [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">How to disable checking of the mail serves certificate in PHPMailer code SMTP Options</h1>
<p style="text-align: justify;">$mail-&gt;SMTPOptions = [<br />
&#8216;ssl&#8217; =&gt; [<br />
&#8216;verify_peer&#8217; =&gt; <span style="color: #ff0000;">false</span>,<br />
&#8216;verify_peer_name&#8217; =&gt; <span style="color: #ff0000;">false</span>,<br />
&#8216;allow_self_signed&#8217; =&gt; <span style="color: #ff0000;">true</span>,<br />
]<br />
];</p>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>&#8212; Artificial Intelligence Comment &#8212;</strong></div>
<div align="center">&#8226;</div>
<p style="text-align: justify;">Recently, the popular open source email transfer client PHPMailer has implemented additional security measures to limit the risk of unauthorized emails being transmitted through their system. One of these measures is the ability to disable SMTP SSL certificate verification in PHP, which can be done by following the steps outlined in this article.</p>
<p style="text-align: justify;">SMTP Secure Sockets Layer (SSL) is an encryption protocol used for data transfer between two machines. It is widely used for communication between networks, including email transfer. With SSL enabled, PHPMailer can verify the authenticity of a secure link established between two computers, protecting users from potential exploits.</p>
<p style="text-align: justify;">However, there may be instances when users wish to disable this feature, either for convenience or to reduce network latency. For instance, if the user is not expecting a large volume of emails or is running a development environment, disabling SMTP SSL certificate verification may not be necessary.</p>
<p style="text-align: justify;">To disable SMTP SSL certificate verification in PHPMailer, users must edit the initialization of the PHPMailer class instance. The verification is enabled by default, but can be easily disabled by setting the “SMTPAutoTLS” parameter to “false”.</p>
<p style="text-align: justify;">Once this is done, the verification requirement will no longer be enforced when sending emails. This setting should not be used in production environments, as it can increase the risk of email spoofing. It is strongly recommended that users enable SSL verification if sending emails to any public address.</p>
<p style="text-align: justify;">In conclusion, PHPMailer has implemented a number of security measures to protect users from potential exploits while transferring emails. SSL certificate verification is one of these features, and can be easily disabled in the initialization of the PHPMailer class instance. However, this should not be done in production environments as it can reduce the level of security.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/phpmailer-disable-smtp-ssl-certificate-verification-in-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel Carbon\Carbon::setLastErrors()</title>
		<link>https://www.mario.chivale.com/laravel-carbon-carbon-set-last-errors/</link>
					<comments>https://www.mario.chivale.com/laravel-carbon-carbon-set-last-errors/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Sun, 07 May 2023 13:20:39 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Carbon]]></category>
		<category><![CDATA[CarbonCarbon]]></category>
		<category><![CDATA[Composer]]></category>
		<category><![CDATA[Creator]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Laravel Carbon]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nesbot]]></category>
		<category><![CDATA[setLastErrors]]></category>
		<category><![CDATA[Traits]]></category>
		<category><![CDATA[UPDATE]]></category>
		<category><![CDATA[upgrade]]></category>
		<guid isPermaLink="false">https://www.mario.chivale.com/?p=500</guid>

					<description><![CDATA[If you have a problem with Laravel Carbon and you see error like that: Laravel CarbonCarbon::setLastErrors() or CarbonCarbon::setLastErrors(): Argument #1 ($lastErrors) must be of type array, bool given, called in /vendor/nesbot/carbon/src/Carbon/Traits/Creator.php on line 98 You must update your composer by using: composer update composer update nesbot/carbon How to install composer on Linux Debian: apt install [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>If you have a problem with Laravel Carbon and you see error like that</strong>:<br />
<strong><span style="color: #ff0000;">Laravel CarbonCarbon::setLastErrors()</span></strong><br />
or<br />
<strong><span style="color: #ff0000;">CarbonCarbon::setLastErrors(): Argument #1 ($lastErrors) must be of type array, bool given, called in /vendor/nesbot/carbon/src/Carbon/Traits/Creator.php on line 98</span></strong></p>
<p>You must update your composer by using:<br />
<strong>composer update</strong><br />
<strong>composer update nesbot/carbon</strong></p>
<p><em><strong>How to install composer on Linux Debian</strong></em>:</p>
<pre>apt install curl php-cli php-mbstring git unzip
cd /
cd /tmp
curl -sS https://getcomposer.org/installer -o composer-setup.php
HASH='curl -sS https://composer.github.io/installer.sig'
echo $HASH
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer

----- OR -----

apt install composer -y
cd /tmp
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/bin --filename=composer</pre>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>— Artificial Intelligence Comment —</strong></div>
<div align="center">•</div>
<p style="text-align: justify;">In the web application development world, Laravel Carbon is a powerful tool for manipulating date and time. Specifically, the CarbonCarbon::setLastErrors() method of Carbon can be used to set and retrieve errors that occur during the execution of a time/date operation. This method is extremely useful in detecting, handling, and debugging time and date errors.</p>
<p style="text-align: justify;">The setLastErrors() method is initialized with no errors and sets or retrieves the last errors occurred during the instantiation of a Carbon object with an array of errors. The errors themselves are categorized as “warnings” and “fatal” with the former indicating issues related to the specific syntax used for the Carbon object, while the latter indicating errors that will prevent the Carbon object from functioning correctly.</p>
<p style="text-align: justify;">Therefore, with the setLastErrors() method, it is possible to modify the way Carbon will generate dates and times, allowing developers to provide faster feedback on errors. The advantage of this method is that it allows developers to parse and correct any suspicious or erroneous statements present in their code, making debugging time/date related errors much easier.</p>
<p style="text-align: justify;">In conclusion, the CarbonCarbon::setLastErrors() method is a useful functionality provided by the Laravel Carbon library that simplifies debugging time and date related errors. This method is an invaluable tool for web application developers, allowing them to identify, handle, and debug errors faster.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/laravel-carbon-carbon-set-last-errors/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MySQL Connect Query Select Search Insert Update Delete</title>
		<link>https://www.mario.chivale.com/mysql-connect-query-select-search-insert-update-delete/</link>
					<comments>https://www.mario.chivale.com/mysql-connect-query-select-search-insert-update-delete/#respond</comments>
		
		<dc:creator><![CDATA[Tatsu]]></dc:creator>
		<pubDate>Sat, 22 Apr 2023 16:46:21 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ALTER]]></category>
		<category><![CDATA[ALTER TABLE]]></category>
		<category><![CDATA[CONNECT]]></category>
		<category><![CDATA[CREATE]]></category>
		<category><![CDATA[CREATE DATABASE]]></category>
		<category><![CDATA[CREATE TABLE]]></category>
		<category><![CDATA[DATABASE]]></category>
		<category><![CDATA[DATABASE. ALTER DATABASE]]></category>
		<category><![CDATA[DELETE]]></category>
		<category><![CDATA[DROP]]></category>
		<category><![CDATA[INDEX]]></category>
		<category><![CDATA[INSERT]]></category>
		<category><![CDATA[INSERT INTO]]></category>
		<category><![CDATA[INTO]]></category>
		<category><![CDATA[QUERY]]></category>
		<category><![CDATA[SELECT]]></category>
		<category><![CDATA[SET]]></category>
		<category><![CDATA[TABLE]]></category>
		<category><![CDATA[UPDATE]]></category>
		<guid isPermaLink="false">https://mario.chivale.com/?p=445</guid>

					<description><![CDATA[MySQL Connect &#60;?php $mysqli = new mysqli(&#8220;host&#8221;, &#8220;username&#8221;, &#8220;password&#8221;, &#8220;dbname&#8221;, &#8220;port&#8221;, &#8220;socket&#8221;); if($mysqli -&#62; connect_errno) { echo &#8220;MySQL Connection Error: &#8221; . $mysqli -&#62; connect_error; exit(); } ?&#62; MySQL Query: If you have any questions, write your question bellow in the &#8220;Leave a Reply&#8221; form. Thanks! &#160; — Artificial Intelligence Comment — • MySQL is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>MySQL Connect</strong></p>
<p>&lt;?php<br />
$mysqli = new mysqli(&#8220;host&#8221;, &#8220;username&#8221;, &#8220;password&#8221;, &#8220;dbname&#8221;, &#8220;port&#8221;, &#8220;socket&#8221;);<br />
if($mysqli -&gt; connect_errno) {<br />
echo &#8220;MySQL Connection Error: &#8221; . $mysqli -&gt; connect_error;<br />
exit();<br />
}<br />
?&gt;</p>
<p>MySQL Query:</p>
<div align="center"><strong>If you have any questions,<br />
write your question bellow in the &#8220;Leave a Reply&#8221; form.<br />
<em>Thanks!</em></strong></div>
<p>&nbsp;</p>
<div align="center"><a title="PayPal- Donate" href="https://www.paypal.com/donate/?hosted_button_id=5TA4H4TJHD4BJ" target="_blank" rel="noopener"><img decoding="async" title="PayPal - Donate" src="/img/paypal-donate.webp" alt="Paypal - Donate" /></a></div>
<div align="center"><strong>— Artificial Intelligence Comment —</strong></div>
<div align="center">•</div>
<p style="text-align: justify;">MySQL is a database management system that has become very popular among web developers and system administrators. It provides powerful features, such as querying, searching, inserting, updating, and deleting data. In this article, we will take a look at how to connect to MySQL, use queries to select, search, insert, update and delete data.</p>
<p style="text-align: justify;">To begin, we need to connect to the MySQL server using either the command line interface or a suitable tool like phpMyAdmin. Once connected, we can create a database, tables, and insert data. With a properly configured database, we can begin running queries.</p>
<p style="text-align: justify;">The most basic query is the SELECT statement which retrieves data from the database. We will specify what data to be retrieved, the table in which it is stored and any optional conditions or orderings.</p>
<p style="text-align: justify;">For example, a query to retrieve all rows from the &#8220;users&#8221; table could look like this: SELECT * FROM users.</p>
<p style="text-align: justify;">To make more specific queries, we can use the WHERE clause to limit the result set. For example: SELECT * FROM users WHERE age &gt; 20. This query will only return records of users that are older than 20.</p>
<p style="text-align: justify;">In addition to retrieving records, MySQL also allows us to search for data in text fields. The LIKE operator can be used to search for a certain string in a particular field. For example, if we wanted to search for users with a certain name we could use this query: SELECT * FROM users WHERE name LIKE &#8216;John&#8217;</p>
<p style="text-align: justify;">Inserting data into the database is quite easy as well. All we need to do is use the INSERT statement with the required columns and values. For example: INSERT INTO users (name, email, age) VALUES (&#8216;John&#8217;, &#8216;john@example.com&#8217;, 32). This query will insert a record with the values provided into the users table.</p>
<p style="text-align: justify;">Updating records is also simple. To update one or more records, we can use the UPDATE statement. For example: UPDATE users SET age = 33 WHERE name = &#8216;John&#8217;. This will set the age of any user with the name &#8220;John&#8221; to 33.</p>
<p style="text-align: justify;">Finally, to delete records from the database, we can use the DELETE statement. For example: DELETE FROM users WHERE age &gt; 40. This query will delete any user records with an age greater than 40.</p>
<p style="text-align: justify;">MySQL has many powerful features for managing, querying, searching, inserting, updating, and deleting data. By following the instructions in this article, you will be able to use these features to your advantage.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mario.chivale.com/mysql-connect-query-select-search-insert-update-delete/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
