php check if email exists

C++ JAVA
Post Reply
explozen
Турист
Турист
Posts: 413
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

php check if email exists

Post by explozen » Thu Sep 05, 2019 5:24 pm

Здравейте,

Опитвам се да направя проверка при заявка към базата да проверява дали вече има такъв имейл който е подаден при заявката.
Ако има такъв да връща грешка, ако няма да прави заявката.

Ще бъда благодарен ако някой удари едно рамо :)

Това е кода който мажа:
[php]$result = $conn->query("SELECT * FROM campaign WHERE `Email`='$_POST[Email]'");
// var_dump($result);
if ($result->num_rows < 0 || $conn->query($sql) === TRUE)
{
echo'<div class="sub-text white error-msg">Error</div>';
}
else
{

$add_date = date("d.m.y - H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];

$sql = "INSERT INTO campaign (
Names,
Phone,
Email,
Adress,
Position,
terms,
other,
add_date,
ip
)
VALUES (
'$_POST[Names]',
'$_POST[Phone]',
'$_POST[Email]',
'$_POST[Adress]',
'$_POST[Position]',
'$_POST[terms]',
'$_POST[other]',
'$add_date',
'$ip'
)";

}
$conn->close();[/php]

User avatar
anonimen
Много Редовен
Много Редовен
Posts: 1523
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 162
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Thu Sep 05, 2019 7:04 pm

А какъв е проблемът/въпросът?

Междувременно - два помощни въпроса - какъв е замисълът на тази проверка:
[php]$conn->query($sql) === TRUE[/php]

и какво има в $sql?

joTunkiq
Потребител
Потребител
Posts: 825
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Mon Sep 09, 2019 6:35 am

Проверката ти нещо не ми се струва Ок, иска да провериш дали в таблицата има поне 1 запис с този мейл и ако има да изкараш грепшка, а ти проверяваш дали заявката е минала упешни и дали НЯМА и май трябва да са на обратно хах ? :idea:

При else -а хубаво си написал заявката ама не я изпълняваш, липсваше $conn->query($sql);

Пробвай така:
[php]<?php
$result = $conn->query("SELECT * FROM campaign WHERE `Email`='$_POST[Email]'");
// var_dump($result);
if ($result->num_rows >= 1)
{
echo'<div class="sub-text white error-msg">Error</div>';
}
else
{

$add_date = date("d.m.y - H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];

$sql = "INSERT INTO campaign ( Names, Phone, Email, Adress, Position, terms, other, add_date, ip )
VALUES ( '$_POST[Names]', '$_POST[Phone]', '$_POST[Email]', '$_POST[Adress]', '$_POST[Position]', '$_POST[terms]', '$_POST[other]', '$add_date', '$ip' )";

$conn->query($sql);

}
$conn->close();[/php]

P.s. не слагай диреткно $_POST променливите в заявките, защото това е голяма предпоставка за sql injection или най-малкото да вкараш някой код без да искаш и да счупиш заявката без да искаш - за това винаги филтрация преди insert-ване :?:

explozen
Турист
Турист
Posts: 413
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

Post by explozen » Mon Sep 09, 2019 10:11 pm

joTunkiq wrote:Проверката ти нещо не ми се струва Ок, иска да провериш дали в таблицата има поне 1 запис с този мейл и ако има да изкараш грепшка, а ти проверяваш дали заявката е минала упешни и дали НЯМА и май трябва да са на обратно хах ? :idea:

При else -а хубаво си написал заявката ама не я изпълняваш, липсваше $conn->query($sql);

Пробвай така:
[php]<?php
$result = $conn->query("SELECT * FROM campaign WHERE `Email`='$_POST[Email]'");
// var_dump($result);
if ($result->num_rows >= 1)
{
echo'<div class="sub-text white error-msg">Error</div>';
}
else
{

$add_date = date("d.m.y - H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];

$sql = "INSERT INTO campaign ( Names, Phone, Email, Adress, Position, terms, other, add_date, ip )
VALUES ( '$_POST[Names]', '$_POST[Phone]', '$_POST[Email]', '$_POST[Adress]', '$_POST[Position]', '$_POST[terms]', '$_POST[other]', '$add_date', '$ip' )";

$conn->query($sql);

}
$conn->close();[/php]

P.s. не слагай диреткно $_POST променливите в заявките, защото това е голяма предпоставка за sql injection или най-малкото да вкараш някой код без да искаш и да счупиш заявката без да искаш - за това винаги филтрация преди insert-ване :?:

Така работи!

Благодаря ви!!!

Post Reply