Validation URL php mysql

237
12 июня 2017, 23:03

Как сделать, чтоб https://www.youtube.com/ добавлялось в базу данных, а просто набор букв или цифр нет

<div class="field">
    <label for="name">Official Web Site:</label>
    <input type="text" name="website" placeholder="http://yoursite.com" />
</div>

Сам php код, всей регистрации

<?php
include("database/db_conection.php");
if(isset($_POST['company_register']))
{
    $company_name=$_POST['name'];
    $company_email=$_POST['email'];
    $company_pass=$_POST['pass'];
    $company_copass=$_POST['copass'];
    $company_country=$_POST['country'];
    if($company_name=='')
    {
        //javascript use for input checking
        echo"<script>alert('Please enter the name')</script>";
        exit();//this use if first is not work then other will not show
    }
    if($company_country=='')
    {
        echo"<script>alert('Please enter the country')</script>";
        exit();
    }
    if($company_pass=='')
    {
        echo"<script>alert('Please enter the password')</script>";
        exit();
    }
    if ($company_pass != $company_copass)
    {
        echo"<script>alert('Error... Passwords do not match')</script>";
        exit;
    }
    if($company_email=='')
    {
        echo"<script>alert('Please enter the email')</script>";
        exit();
    }
    //here query check weather if user already registered so can't register again.
    $check_email_query="select * from companies WHERE company_email='$company_email'";
    $run_query=mysqli_query($dbcon,$check_email_query);
    if(mysqli_num_rows($run_query)>0)
    {
        echo "<script>alert('Email $company_email is already exist in our database, Please try another one!')</script>";
        exit();
    }
    //insert the user into the database.
    $insert_company="insert into companies (company_name,company_email,company_pass,company_copass,company_country,company_website) VALUE ('$company_name','$company_country','$company_email','$company_pass','$company_copass','$company_website')";
    if(mysqli_query($dbcon,$insert_company))
    {
        echo"<script>window.open('../index.php','_self')</script>";
    }
}
?>
Answer 1
if (filter_var($url, FILTER_VALIDATE_URL)){
  //some action
}
  1. У Вас нет экранирования входных данных (даже если это админка, все равно нужно)
  2. Вместо $company_country=='' используйте empty($company_country)
  3. Вместо того, чтобы каждый раз алертовать ошибку, лучше собирайте их в массив, joinте его и выводите в самом конце выполнения скрипта
  4. Переходите на PDO ))
READ ALSO
Расписание игр php

Расписание игр php

Необходимо реализовать генерацию турнирной сеткиТакой же скрипт: http://challonge

252
Формать даты внутри переменной

Формать даты внутри переменной

У меня дата идет внутри переменной $var из формы через POST запрос в формате ГГГГ-ММ-ДД пытаюсь его преобразовать и вывести его таким образом

249
Как заставить cmake собирать под платформу x64?

Как заставить cmake собирать под платформу x64?

Есть clion и он использует cmakeЧто нужно добавить в файл CMakeList чтобы компилировать под x64

374
Visual Studio 2015 LNK1104 C++

Visual Studio 2015 LNK1104 C++

Ошибка LNK1104 не удается открыть файл "libboost_regex-vc140-mt-gd-1_64lib"\

279