Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,946
» Latest member: blackopsdlc
» Forum threads: 22,010
» Forum posts: 22,977

Full Statistics

Online Users
There are currently 3148 online users.
» 0 Member(s) | 3143 Guest(s)
Applebot, Baidu, Bing, Facebook, Google

Latest Threads
[DevBlog MS] Microsoft is...
Forum: C#, Visual Basic, & .Net Frameworks
Last Post: xSicKxBot

» Replies: 0
» Views: 12
[WoW Retail News] BlizzCo...
Forum: World of Warcraft
Last Post: xSicKxBot

» Replies: 0
» Views: 13
What is Celestial Codex i...
Forum: PC Discussion
Last Post: xSicKxBot

» Replies: 0
» Views: 13
[Ubuntu News] Fine tune y...
Forum: Linux, FreeBSD, and Unix types
Last Post: xSicKxBot

» Replies: 0
» Views: 11
[WoW Retail News] Xal'ata...
Forum: World of Warcraft
Last Post: xSicKxBot

» Replies: 0
» Views: 31
[Ubuntu News] Scaling And...
Forum: Linux, FreeBSD, and Unix types
Last Post: xSicKxBot

» Replies: 0
» Views: 22
[WoW Retail News] Comment...
Forum: World of Warcraft
Last Post: xSicKxBot

» Replies: 0
» Views: 20
How to unlock Maya Aguina...
Forum: PC Discussion
Last Post: xSicKxBot

» Replies: 0
» Views: 25
[Steam Release] The Unive...
Forum: New Game Releases
Last Post: xSicKxBot

» Replies: 0
» Views: 30
[DevBlog MS] Creating a m...
Forum: C#, Visual Basic, & .Net Frameworks
Last Post: xSicKxBot

» Replies: 0
» Views: 38

 
  (Indie Deal) ?Pleasure Lessons Bundle, Cherry Kiss & Adult Games Sales
Posted by: xSicKxBot - 04-04-2022, 09:10 PM - Forum: Deals or Specials - No Replies

?Pleasure Lessons Bundle, Cherry Kiss & Adult Games Sales

Pleasure Lessons Bundle | +25 Adult Manga eBooks | 94% OFF
[www.indiegala.com]
Reading for pleasure has its own benefits: lessons are learned, culture is gathered and information gets processed. Manga is literature, even the ero-adult variety. Read stories about vampires, gymnasts, teachers, doctors, heroines, journalists, monsters and more.

Cherry Kiss & Adult Games Sales, up to 80% OFF
[www.indiegala.com]
[www.indiegala.com]

https://youtu.be/jJAFV5-rLtM
Stay Inside, Stay Safe and Enjoy Good Games.
Check out IndieGala on Twitter, YouTube & Facebook[www.facebook.com]


https://steamcommunity.com/groups/indieg...4082207965

Print this item

  PC - Submerged: Hidden Depths
Posted by: xSicKxBot - 04-04-2022, 09:10 PM - Forum: New Game Releases - No Replies

Submerged: Hidden Depths



Boat, climb, interact and explore in the beautiful ruins of a sunken world.

Publisher: Uppercut Games Pty Ltd

Release Date: Mar 10, 2022




https://www.metacritic.com/game/pc/subme...den-depths

Print this item

  News - New Monkey Island Game Announced, 31 Years Later
Posted by: xSicKxBot - 04-04-2022, 09:10 PM - Forum: Lounge - No Replies

New Monkey Island Game Announced, 31 Years Later

A sequel to Secret of Monkey Island and Monkey Island 2: LeChuck's Revenge is coming this year. 31 years after LeChuck's Revenge launched in 1991 comes Return to Monkey Island, and director Ron Gilbert is returning for the long-awaited game. He isn't the only returning developer, either. And no, this isn't a delayed April Fools' prank.

Gilbert said on Twitter that he's been working on Return to Monkey Island in secret for the past two years. In addition to Gilbert, Monkey Island veteran Dave Grossman is working on the game; they designed and wrote Return to Monkey Island together. The announcement trailer also confirms that Guybrush Threepwood will appear in the game and that Dominic Armato will return to voice him.

Gilbert's game studio, Terrible Toybox, is developing Return to Monkey Island in partnership with Lucasfilm Games and Devolver Digital. The game is slated for release in 2022, but there is no word yet on a specific date or platforms.

Continue Reading at GameSpot

https://www.gamespot.com/articles/new-mo...01-10abi2f

Print this item

  [Tut] Python Regex – ¿Cómo contar el número de coincidencias?
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: Python - No Replies

Python Regex – ¿Cómo contar el número de coincidencias?

Para contar un patrón de expresión regular varias veces en una cadena dada, usa el método len(re.findall(pattern, string)) que devuelve el número de subcadenas coincidentes o len([*re.finditer(pattern, text)]) que desempaqueta todas las subcadenas coincidentes en una lista y también devuelve la longitud de la misma.

Hace unas horas, escribí una expresión regular en Python que coincidía no una sino varias veces en el texto y me pregunté: ¿cómo contar el número de coincidencias?

Considera el ejemplo mínimo en el que buscas un número arbitrario de caracteres de palabras '[a-z]+' en una frase dada 'python is the best programming language in the world'.

Puedes ver mi vídeo explicativo a medida que lees el tutorial:




Artículo relacionado: Superpoderes Regex de Python – La guía definitiva

Los ingenieros de Google, Facebook y Amazon son auténticos maestros de expresiones regulares. Si quieres convertirte en uno también, echa un vistazo a nuestro nuevo libro: La forma más inteligente de aprender Python Regex (Amazon Kindle/Print, se abre en una nueva pestaña).

¿Cuántas coincidencias hay en la cadena? Para contar el número de coincidencias, puede usar varios métodos:

Método 1: Python re.findall()


Usa el método re.findall(pattern, string) que devuelve una lista de subcadenas coincidentes. Luego cuenta la longitud de la lista devuelta. Aquí hay un ejemplo:

>>> import re
>>> pattern = '[a-z]+'
>>> text = 'python is the best programming language in the world'
>>> len(re.findall(pattern, text))
9

¿Por qué es 9 el resultado? Debido a que hay nueve subcadenas coincidentes en la lista devuelta por el método re.findall():

>>> re.findall(pattern, text)
['python', 'is', 'the', 'best', 'programming', 'language', 'in', 'the', 'world']

Este método funciona muy bien si no hay coincidencias solapadas.

¿Quieres dominar el superpoder regex? Echa un vistazo a mi nuevo libro La forma más inteligente de aprender expresiones regulares en Python con el innovador enfoque de 3 pasos para el aprendizaje activo: (1) estudia un capítulo de libro, (2) resuelve un rompecabezas de código y (3) mira un video de capítulo educativo.

Método 2: Python re.finditer()


También puedes contar el número de veces que un patrón determinado coincide en un texto utilizando el método re.finditer(pattern, text):

Especificación: re.finditer(pattern, text, flags=0)

Definición: devuelve un iterador que repasa todas las coincidencias no solapadas del patrón en el texto.

El argumento flags te permite personalizar algunas propiedades avanzadas del motor regex, como por ejemplo si se debe ignorar el uso de mayúsculas en los caracteres. Puedes saber más sobre el argumento flags en el tutorial detallado de mi blog.

Ejemplo: puedes usar el iterador para contar el número de coincidencias. A diferencia del método re.findall() descrito anteriormente, esto tiene la ventaja de que puedes analizar los propios objetos coincidentes que contienen mucha más información que la simple subcadena coincidente.

import re
pattern = '[a-z]+'
text = 'python is the best programming language in the world'
for match in re.finditer(pattern, text): print(match) '''
<re.Match object; span=(0, 6), match='python'>
<re.Match object; span=(7, 9), match='is'>
<re.Match object; span=(10, 13), match='the'>
<re.Match object; span=(14, 18), match='best'>
<re.Match object; span=(19, 30), match='programming'>
<re.Match object; span=(31, 39), match='language'>
<re.Match object; span=(40, 42), match='in'>
<re.Match object; span=(43, 46), match='the'>
<re.Match object; span=(47, 52), match='world'> '''

Si quieres contar el número de coincidencias, puedes utilizar una simple variable count:

import re
pattern = '[a-z]+'
text = 'python is the best programming language in the world' count = 0
for match in re.finditer(pattern, text): count += 1 print(count)
# 9

O una solución más pitónica:

import re
pattern = '[a-z]+'
text = 'python is the best programming language in the world' print(len([*re.finditer(pattern, text)]))
# 9

Este método funciona muy bien si no hay coincidencias solapadas. Utiliza el operador asterisco * para desempaquetar todos los valores del iterable.

Método 3: Coincidencias solapadas


Los dos métodos anteriores funcionan muy bien si no hay coincidencias solapadas. Si hay coincidencias solapadas, el motor regex simplemente las ignorará porque “consume” todas las subcadenas coincidentes y comienza a comparar el siguiente patrón sólo después del índice stop de la coincidencia anterior.

Así que si necesitas encontrar el número de coincidencias superpuestas, necesitas usar un enfoque diferente.

La idea es hacer un seguimiento de la posición inicial de la coincidencia precedente e incrementarla en uno después de cada coincidencia:

import re
pattern = '99'
text = '999 ways of writing 99 - 99999' left = 0
count = 0
while True: match = re.search(pattern, text[left:]) if not match: break count += 1 left += match.start() + 1
print(count)
# 7

Al hacer un seguimiento del índice start de la coincidencia anterior en la variable left, podemos controlar dónde hay que buscar la siguiente coincidencia en la cadena. Ten en cuenta que utilizamos la operación de rebanado de Python text[left:] para ignorar todos los caracteres a la izquierda que ya se han considerado en las coincidencias anteriores. En cada iteración del bucle, emparejamos otro patrón en el texto. Esto funciona incluso si esas coincidencias se solapan.

A dónde ir desde aquí


Has aprendido tres formas de encontrar el número de coincidencias de un patrón dado en una cadena.

¡Si tienes problemas con las expresiones regulares, echa un vistazo a nuestro tutorial de regex gratuito de 20.000 palabras en el blog de Finxter! ¡Te dará superpoderes de regex!

¿Quieres dominar el superpoder regex? Echa un vistazo a mi nuevo libro La forma más inteligente de aprender expresiones regulares en Python con el innovador enfoque de 3 pasos para el aprendizaje activo: (1) estudia un capítulo de libro, (2) resuelve un rompecabezas de código y (3) mira un video de capítulo educativo.

Curso Regex de Python


Los ingenieros de Google son maestros de expresiones regulares. El motor de búsqueda de Google es un motor de procesamiento de texto masivo que extrae valor de billones de páginas web.

Los ingenieros de Facebook son maestros de expresiones regulares. Las redes sociales como Facebook, WhatsApp e Instagram conectan a los humanos a través de mensajes de texto.

Los ingenieros de Amazon son maestros de expresiones regulares. Los gigantes del comercio electrónico envían productos basados en descripciones de productos textuales.Las expresiones regulares rigen el juego cuando el procesamiento de texto se encuentra con la informática.

Si quieres convertirte también en un maestro de expresiones regulares, echa un vistazo al curso de Python regex más completo del planeta:

¿Por qué Finxter?

“Dadme una palanca lo suficientemente larga […] y moveré el mundo”. ?Arquímedes

¡Finxter pretende ser tu palanca! ¡Nuestro único propósito es aumentar la inteligencia colectiva de la humanidad a través de tutoriales de programación para que pueda aprovechar la inteligencia computacional infinita para su éxito! ?

Recursos de aprendizaje


¡Únase a nuestra academia gratuita de correo electrónico con más de 1000 tutoriales en Python, freelance, ciencia de datos y aprendizaje automático, y tecnología Blockchain!

Además, no dude en consultar nuestros libros de Finxter y el curso de freelancer #1 del mundo para crear su próspero negocio de codificación en línea. ⭐⭐⭐⭐⭐

Codificador independiente

Si no estás listo para hacerlo, no dudes en leer nuestro artículo de blog sobre cómo ganar tus primeros $ 3,000 como programador freelance.

¡TODOS LOS ENLACES DE LA BARRA LATERAL SE ABREN EN UNA NUEVA PESTAÑA!



https://www.sickgaming.net/blog/2022/03/...cidencias/

Print this item

  [Oracle Blog] The OpenJDK Community TCK License Agreement (OCTLA)
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: Java Language, JVM, and the JRE - No Replies

The OpenJDK Community TCK License Agreement (OCTLA)

After launching the OpenJDK Community as the place to collaborate on open source implementations of the Java SE Platform back in 2006, the next logical step was to make the Java SE TCK (JCK) available to those working in and contributing to OpenJDK. Sun Microsystems did this via the “OpenJDK Communi...

https://blogs.oracle.com/java/post/the-o...ment-octla

Print this item

  [Tut] PHP Login Form with MySQL database and form validation
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: PHP Development - No Replies

PHP Login Form with MySQL database and form validation

by Vincy. Last modified on March 1st, 2022.

Login form – an entry point of a website to authenticate users. PHP login system requires users to register with the application first to log in later.

The registered users are managed in a database at the back end. On each login attempt via the PHP login form, it verifies the database to find a match.

It is a very simple and essential job. At the same time, it should be designed with security to guard the site. It should filter anonymous hits 100% not to let unregistered users get in.

The PHP login form action stores the logged-in user in a session. It uses PHP $_SESSION one of its superglobals. It’s better to validate the existence of this session at the beginning of each page to be protected.

This PHP code can also be used to add an admin login for your control panel. Also, it can be used as a common authentication entry for both admin and user side of an application.

PHP login form code


This example is to design a PHP login form working with backend processing. The login page in PHP shows the UI elements like social login, forgot password and etc.

It posts data to process a username/password-based login authentication. This example uses the database to authenticate the user login.

This PHP login system is capable of linking the following code to the additional login form controls.

  1. Link PHP forgot/reset password feature.
  2. Link User registration PHP example to the sign-up option.
  3. Also, Link Oauth login with Facebook, Twitter and Linkedin.

php login form

HTML form template


The landing page renders this template into the UI to let the user log in. It will happen when there is no logged-in session.

This form accepts the user’s login details username or email and a secure password. The submit event triggers the PHP login form validation and posts the login data to the PHP.

This PHP login form is responsive to the different viewport sizes. It uses simple CSS media queries for adding site responsiveness.

The form tag calls a JavaScript function validate() on the submit event. The below code includes the PHP login form validation script at the end.

view/login-form.php


<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>User Login</title>
<link href="./view/css/form.css" rel="stylesheet" type="text/css" />
<style>
body { font-family: Arial; color: #333; font-size: 0.95em; background-image: url("./view/images/bg.jpeg");
}
</style>
</head>
<body> <div> <form action="login-action.php" method="post" id="frmLogin" on‌Submit="return validate();"> <div class="login-form-container"> <div class="form-head">Login</div> <?php if (isset($_SESSION["errorMessage"])) { ?> <div class="error-message"><?php echo $_SESSION["errorMessage"]; ?></div> <?php unset($_SESSION["errorMessage"]); } ?> <div class="field-column"> <div> <label for="username">Username</label><span id="user_info" class="error-info"></span> </div> <div> <input name="user_name" id="user_name" type="text" class="demo-input-box" placeholder="Enter Username or Email"> </div> </div> <div class="field-column"> <div> <label for="password">Password</label><span id="password_info" class="error-info"></span> </div> <div> <input name="password" id="password" type="password" class="demo-input-box" placeholder="Enter Password"> </div> </div> <div class=field-column> <div> <input type="submit" name="login" value="Login" class="btnLogin"></span> </div> </div> <div class="form-nav-row"> <a href="#" class="form-link">Forgot password?</a> </div> <div class="login-row form-nav-row"> <p>New user?</p> <a href="#" class="btn form-link">Signup Now</a> </div> <div class="login-row form-nav-row"> <p>May also signup with</p> <a href="#"><img src="view/images/icon-facebook.png" class="signup-icon" /></a><a href="#"><img src="view/images/icon-twitter.png" class="signup-icon" /></a><a href="#"><img src="view/images/icon-linkedin.png" class="signup-icon" /></a> </div> </div> </form> </div> <script> function validate() { var $valid = true; document.getElementById("user_info").innerHTML = ""; document.getElementById("password_info").innerHTML = ""; var userName = document.getElementById("user_name").value; var password = document.getElementById("password").value; if(userName == "") { document.getElementById("user_info").innerHTML = "required"; $valid = false; } if(password == "") { document.getElementById("password_info").innerHTML = "required"; $valid = false; } return $valid; } </script>
</body>
</html>

PHP login form action


A PHP endpoint script that is an action target of the login form handles the login data.

This login page in PHP sanitizes the data before processing them. It uses PHP filter_var function to sanitize the user entered authentication details.

It conducts the authentication process after receiving the user credentials.

This program puts the authenticated user details in a session. Then, it acknowledges the user accordingly.

login-action.php


<?php
namespace Phppot; use \Phppot\Member;
if (! empty($_POST["login"])) { session_start(); $username = filter_var($_POST["user_name"], FILTER_SANITIZE_STRING); $password = filter_var($_POST["password"], FILTER_SANITIZE_STRING); require_once (__DIR__ . "/class/Member.php"); $member = new Member(); $isLoggedIn = $member->processLogin($username, $password); if (! $isLoggedIn) { $_SESSION["errorMessage"] = "Invalid Credentials"; } header("Location: ./index.php"); exit();
}

PHP login authentication model class


It contains the processLogin() function to check the PHP login form data with the database. It uses PHP password_verify() function to validate the user-entered password. This PHP function compares the password with the hashed password on the database.

The getMemberById() function reads the member result by member id. After successful login, it is called from the case to display the dashboard. It returns the array of data to be displayed on the dashboard.

class/Member.php


<?php
namespace Phppot; use \Phppot\DataSource; class Member
{ private $dbConn; private $ds; function __construct() { require_once "DataSource.php"; $this->ds = new DataSource(); } function getMemberById($memberId) { $query = "select * FROM registered_users WHERE id = ?"; $paramType = "i"; $paramArray = array($memberId); $memberResult = $this->ds->select($query, $paramType, $paramArray); return $memberResult; } public function processLogin($username, $password) { $query = "select * FROM registered_users WHERE user_name = ? OR email = ?"; $paramType = "ss"; $paramArray = array($username, $username); $memberResult = $this->ds->select($query, $paramType, $paramArray); if(!empty($memberResult)) { $hashedPassword = $memberResult[0]["password"]; if (password_verify($password, $hashedPassword)) { $_SESSION["userId"] = $memberResult[0]["id"]; return true; } } return false; }
}

Show dashboard and logout link after PHP login


After successful login, the site says there exists a session of the logged-in user. It can be shown in different ways.

In most sites, the site header displays the logged-in user’s profile link. It can be a clickable avatar that slides down a profile menu.

This PHP login system redirects the user to a dashboard page after login. This dashboard page shows a welcome message, about-user with an avatar.

The landing page checks the PHP session if any user has already login. If so, it will redirect to this dashboard page.

view/dashboard.php


<?php
namespace Phppot; use \Phppot\Member; if (! empty($_SESSION["userId"])) { require_once __DIR__ . './../class/Member.php'; $member = new Member(); $memberResult = $member->getMemberById($_SESSION["userId"]); if(!empty($memberResult[0]["display_name"])) { $displayName = ucwords($memberResult[0]["display_name"]); } else { $displayName = $memberResult[0]["user_name"]; }
}
?>
<html>
<head>
<title>User Login</title>
<style>
body { font-family: Arial; color: #333; font-size: 0.95em;
} .dashboard { background: #d2edd5; margin: 15px auto; line-height: 1.8em; color: #333; border-radius: 4px; padding: 30px; max-width: 400px; border: #c8e0cb 1px solid; text-align: center;
} a.logout-button { color: #09f;
}
.profile-photo { width: 100px; border-radius: 50%; }
</style>
</head>
<body> <div> <div class="dashboard"> <div class="member-dashboard"> <p>Welcome <b><?php echo $displayName; ?>!</b></p> <p><?php echo $memberResult[0]["about"]; ?></p> <p><img src="./view/images/photo.jpeg" class="profile-photo" /></p> <p>You have successfully logged in!</p> <p>Click to <a href="./logout.php" class="logout-button">Logout</a></p> </div> </div> </div>
</body>
</html>

PHP Logged in User Dashboard

Logging out from the site


This is a general routine to log out from the site. The following script clears the PHP session. Then it redirects back to login page in PHP.

Sometimes, the logout case may clear cookies. Example: In the case of using a cookie-based Remember Me feature in login.

view/dashboard.php


<?php session_start();
$_SESSION["user_id"] = "";
session_destroy();
header("Location: index.php");

Files structure


See the below image that shows the file structure of this simple PHP login form example. It contains a featured login form UI with the application view files.

The login action calls the PHP model on the submit event. It performs backend authentication with the database.

php login form files

Database script


Look at this SQL script which contains the CREATE statement and sample row data.

By importing this SQL, it creates database requisites in your development environment.

The sample data helps to try a login that returns success response on the authentication.

Test data: username: kate_91 password: admin123

sql/database.sql


--
-- Database: `blog_eg`
-- -- -------------------------------------------------------- --
-- Table structure for table `registered_users`
-- CREATE TABLE `registered_users` ( `id` int(8) NOT NULL, `user_name` varchar(255) NOT NULL, `display_name` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `photo` text DEFAULT NULL, `about` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --
-- Dumping data for table `registered_users`
-- INSERT INTO `registered_users` (`id`, `user_name`, `display_name`, `password`, `email`, `photo`, `about`) VALUES
(1, 'kate_91', 'Kate Winslet', '$2y$10$LVISX0lCiIsQU1vUX/dAGunHTRhXmpcpiuU7G7.1lbnvhPSg7exmW', 'kate@wince.com', 'images/photo.jpeg', 'Web developer'); --
-- Indexes for dumped tables
-- --
-- Indexes for table `registered_users`
--
ALTER TABLE `registered_users` ADD PRIMARY KEY (`id`); --
-- AUTO_INCREMENT for dumped tables
-- --
-- AUTO_INCREMENT for table `registered_users`
--
ALTER TABLE `registered_users` MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

Secure DataSource using MySQL with prepared statements


This DataSource is a common file to be used in any stand-alone PHP application. It uses MySQLi with prepared statement to execute database queries. It works with PHP 8 and 7+

class/DataSource.php


<?php
namespace Phppot; /** * Generic datasource class for handling DB operations. * Uses MySqli and PreparedStatements. * * @version 2.3 */
class DataSource
{ // PHP 7.1.0 visibility modifiers are allowed for class constants. // when using above 7.1.0, declare the below constants as private const HOST = 'localhost'; const USERNAME = 'root'; const PASSWORD = ''; const DATABASENAME = 'blog_eg'; private $conn; /** * PHP implicitly takes care of cleanup for default connection types. * So no need to worry about closing the connection. * * Singletons not required in PHP as there is no * concept of shared memory. * Every object lives only for a request. * * Keeping things simple and that works! */ function __construct() { $this->conn = $this->getConnection(); } /** * If connection object is needed use this method and get access to it. * Otherwise, use the below methods for insert / update / etc. * * @return \mysqli */ public function getConnection() { $conn = new \mysqli(self::HOST, self::USERNAME, self::PASSWORD, self::DATABASENAME); if (mysqli_connect_errno()) { trigger_error("Problem with connecting to database."); } $conn->set_charset("utf8"); return $conn; } /** * To get database results * @param string $query * @param string $paramType * @param array $paramArray * @return array */ public function select($query, $paramType="", $paramArray=array()) { $stmt = $this->conn->prepare($query); if(!empty($paramType) && !empty($paramArray)) { $this->bindQueryParams($stmt, $paramType, $paramArray); } $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultset[] = $row; } } if (! empty($resultset)) { return $resultset; } } /** * To insert * @param string $query * @param string $paramType * @param array $paramArray * @return int */ public function insert($query, $paramType, $paramArray) { print $query; $stmt = $this->conn->prepare($query); $this->bindQueryParams($stmt, $paramType, $paramArray); $stmt->execute(); $insertId = $stmt->insert_id; return $insertId; } /** * To execute query * @param string $query * @param string $paramType * @param array $paramArray */ public function execute($query, $paramType="", $paramArray=array()) { $stmt = $this->conn->prepare($query); if(!empty($paramType) && !empty($paramArray)) { $this->bindQueryParams($stmt, $paramType="", $paramArray=array()); } $stmt->execute(); } /** * 1. Prepares parameter binding * 2. Bind prameters to the sql statement * @param string $stmt * @param string $paramType * @param array $paramArray */ public function bindQueryParams($stmt, $paramType, $paramArray=array()) { $paramValueReference[] = & $paramType; for ($i = 0; $i < count($paramArray); $i ++) { $paramValueReference[] = & $paramArray[$i]; } call_user_func_array(array( $stmt, 'bind_param' ), $paramValueReference); } /** * To get database results * @param string $query * @param string $paramType * @param array $paramArray * @return array */ public function numRows($query, $paramType="", $paramArray=array()) { $stmt = $this->conn->prepare($query); if(!empty($paramType) && !empty($paramArray)) { $this->bindQueryParams($stmt, $paramType, $paramArray); } $stmt->execute(); $stmt->store_result(); $recordCount = $stmt->num_rows; return $recordCount; }
}

Conclusion


We have seen a simple example on the PHP login form. Hope this will be useful to have a featured, responsive login form.

The article interlinks the constellations of a login form. It will be helpful to integrate more features with the existing login template.

Let me know your feedback on the comments section if you need any improvements on this PHP login system.

Download

↑ Back to Top



https://www.sickgaming.net/blog/2022/03/...alidation/

Print this item

  (Indie Deal) Anime Giveaways, Digimon, Furi & Yu-Gi-Oh Deals
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: Deals or Specials - No Replies

Anime Giveaways, Digimon, Furi & Yu-Gi-Oh Deals

Anime Giveaways
[www.indiegala.com]
SAO, Black Clover, MHA, DBZ anime giveaways are now live, but more are on their way!

Digimon Story Cyber Sleuth: Complete Edition Deal
[www.indiegala.com]
With engaging storylines, classic turn-based battles, and tons of Digimon to collect, Digimon Story Cyber Sleuth: Complete Edition delivers everything fans loved about Digimon Story: Cyber Sleuth and Digimon Story: Cyber Sleuth – Hacker’s Memory.

Yu-Gi-Oh! & PID Sales, up to 90% OFF
[www.indiegala.com]
[www.indiegala.com]
https://www.youtube.com/watch?v=EaO5vRkUiAc
Stay Inside, Stay Safe and Enjoy Good Games.
Check out IndieGala on Twitter, YouTube & Facebook[www.facebook.com]


https://steamcommunity.com/groups/indieg...4076807611

Print this item

  PC - Assassin's Creed Valhalla: Dawn of Ragnarok
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: New Game Releases - No Replies

Assassin's Creed Valhalla: Dawn of Ragnarok



In the most ambitious expansion in franchise history, Eivor must embrace their destiny as Odin, the Norse god of Battle and Wisdom. Unleash new divine powers as you embark on a desperate quest through a breathtaking world. Complete a legendary Viking saga and save your son in the face of the gods’ doom.

Publisher: Ubisoft

Release Date: Mar 10, 2022




https://www.metacritic.com/game/pc/assas...f-ragnarok

Print this item

  News - Elden Ring: Where To Get The Hookclaws
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: Lounge - No Replies

Elden Ring: Where To Get The Hookclaws

Elden Ring may have no shortage of cool weapons that you can find and equip, but let's be real--you're really just dying to get your hands on some claws and cosplay as Wolverine, right? Lucky for you, the Hookclaws are a solid option for mobility-focused players, and they can be found pretty early in the game. We'll tell you precisely where below.

Hookclaws explained

The Hookclaws are, as you might've guessed, a claw weapon that requires 8 Strength and 14 Dexterity to wield. You can use one claw alongside a shield, or you can two-hand the weapon to equip one claw on each hand for some frenetic and aggressive attacks that come along with some hefty bleed buildup--and they look cool doing it.

The Hookclaws' weapon skill is a fairly common one known as Quickstep. It functions similarly to the dodge from Bloodborne, allowing you to quickly maneuver around your enemies fluidly, even letting you get behind them quickly for some fast attacks.

Continue Reading at GameSpot

https://www.gamespot.com/articles/elden-...01-10abi2f

Print this item

  (Free Game Key) Knightfall: A Daring Journey - Free Steam Game
Posted by: xSicKxBot - 04-04-2022, 12:32 AM - Forum: Deals or Specials - No Replies

Knightfall: A Daring Journey - Free Steam Game

Of all the days a steam freebie would be available, it had to be on the day we pretended to be bought by Epic. :fomtlaugh:

Visit the store page and add the game to your account:

Knightfall: A Daring Journey

Available until Apr 2nd. !addlicense asf s/705132 for ASF users.

We are welcoming everyone to join our discord[discord.gg]. We are more active there on finding giveaways, small or large, and there are daily raffles you can participate.

?GrabFreeGames.com ?Twitter ?Steam Curator ?Facebook[fb.me]?Discord[discord.gg]
❤️Support us: ✔️HumbleBundle Partner[www.humblebundle.com] Epic Tag: GrabFreeGames


https://steamcommunity.com/groups/GrabFr...9648492930

Print this item