lunes, 23 de marzo de 2020

PHP sendgrid API

 1007  echo "export SENDGRID_API_KEY='SG.8J2caHDtU'" > sendgrid.env


 1008  echo "sendgrid.env" >> .gitignore

 1009  source ./sendgrid.env

 1013  composer sendgrid/sendgrid

 1014  sudo curl -sS https://getcomposer.org/installer | php

 1015   mv composer.phar /usr/local/bin/composer

 1016  composer -V

 1023  composer require sendgrid/sendgrid
---------------------------------------------------------------------
PHP CODE

    <?php
require 'vendor/autoload.php'; // If you're using Composer (recommended)
// Comment out the above line if not using Composer
// require("<PATH TO>/sendgrid-php.php");
// If not using Composer, uncomment the above line and
// download sendgrid-php.zip from the latest release here,
// replacing <PATH TO> with the path to the sendgrid-php.php file,
// which is included in the download:
// https://github.com/sendgrid/sendgrid-php/releases

$email = new \SendGrid\Mail\Mail();
$email->setFrom("admin@asterisk-voip.com", "Ambiorix Rodriguez");
$email->setSubject("Sending with SendGrid is Fun");
$email->addTo("ambiorixg12@gmail.com", "Example User");
$email->addContent("text/plain", "and easy to do anywhere, even with PHP");
$email->addContent(
    "text/html", "<strong>and easy to do anywhere, even with PHP</strong>"
);
$sendgrid = new \SendGrid(getenv('SENDGRID_API_KEY'));
try {
    $response = $sendgrid->send($email);
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $e) {
    echo 'Caught exception: '. $e->getMessage() ."\n";
}

?>

viernes, 6 de marzo de 2020

<?php
/* formats a 10 or 7 digit phone number (number only) by adding dashes at the appropriate locations */

function phoneFormat($number) {
if(ctype_digit($number) && strlen($number) == 10) {
  $number = substr($number, 0, 3) .'-'. substr($number, 3, 3) .'-'. substr($number, 6);
} else {
if(ctype_digit($number) && strlen($number) == 7) {
$number = substr($number, 0, 3) .'-'. substr($number, 3, 4);
}
}
return $number;
}

echo  phoneFormat(8297243489);

?>

829-724-3489

lunes, 10 de febrero de 2020

login script

<?php


  $dbhost='localhost';
        $dbuser='root';
        $dbpass=789456;
        $dbname='codigos';

        $db = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Couldn't connect to the database.");

        mysqli_select_db($db,$dbname) or die("Couldn't select the database");



    //--------------- AUTHENTICATION MODULE --------------------------

        function displayLogin() {
                header("WWW-Authenticate: Basic realm=\"Ambiorix\"");
                header("HTTP/1.0 401 Unauthorized");
                echo "<h2>Authentication Failure</h2>";
                echo "The username and password provided did not work. Please reload this page and try again.";
                exit;
        }



        if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
                // If username or password hasn't been set, display the login request.
                displayLogin();
        } else {
                // Escape both the password and username string to prevent users from inserting bogus data.
                $PHP_AUTH_USER = addslashes($_SERVER['PHP_AUTH_USER']);
                //$PHP_AUTH_PW = md5($PHP_AUTH_PW);
                $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW'];

                // Check username and password against the database.
                   $query="SELECT count(user_id) as valid FROM codeusers WHERE password='$PHP_AUTH_PW' AND user='$PHP_AUTH_USER' ";    
                  $result = mysqli_query($db, $query);
                  while ($row = mysqli_fetch_assoc($result)) {
        if($row[valid]<1)  {
                displayLogin();

}


}
}
?>


CREATE TABLE `codeusers` (
  `user_id` int(10) NOT NULL,
  `user` char(10) NOT NULL,
  `password` char(10) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

domingo, 2 de febrero de 2020

Display and hide HTML elements

JQUERY
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
    </style>
</head>
<body>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("input[name=btnPassport]").click(function () {
                if ($(this).val() == "Yes") {
                    $("#dvPassport").show();
                } else {
                    $("#dvPassport").hide();
                }
            });
        });
    </script>
    <span>Do you have Passport?</span>
    <input type="button" value="Yes" name="btnPassport" />
    <input type="button" value="No" name="btnPassport" />
    <hr />
    <div id="dvPassport" style="display: none">
        Passport Number:
        <input type="text" id="txtPassportNumber" />
    </div>
</body>
</html>

JAVASCRIPT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
    </style>
</head>
<body>
    <script type="text/javascript">
        function ShowHideDiv(btnPassport) {
            var dvPassport = document.getElementById("dvPassport");
            dvPassport.style.display = btnPassport.value == "Yes" ? "block" : "none";
        }
    </script>
    <span>Do you have Passport?</span>
    <input type="button" value="Yes" onclick="ShowHideDiv(this)" />
    <input type="button" value="No" onclick="ShowHideDiv(this)" />
    <hr />
    <div id="dvPassport" style="display: none">
        Passport Number:
        <input type="text" id="txtPassportNumber" />
    </div>
</body>
</html>