Benim kod mysql veritabanına 1999 gibi bir yıl kaydetmek için varsayalım ama bunu alışkanlık edilir. Bu kullanıcı sadece sayıları girmiş ve en az 4 sayı şey doğru girildi uzun veya olmadığını olup olmadığını görmek için kontrol eder ama alışkanlık doğru yıl kaydetmek? Ben bu sorunu nasıl düzeltebilirim.
Burada PHP kodudur.
if(isset($_POST['year']) && intval($_POST['year']) && strlen($_POST['year']) == 4) {
$year = mysqli_real_escape_string($mysqli, $purifier->purify(htmlentities(strip_tags($_POST['year']))));
} else if($_POST['year'] && strlen($_POST['year']) < 4) {
echo '<p class="error">year is not correct!</p>';
} else if($_POST['year'] == NULL) {
// do something
}
Kod olacak burası.
if (mysqli_num_rows($dbc) == 0) {
$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"INSERT INTO users (user_id, year)
VALUES ('$user_id', '$year')");
}
if ($dbc == TRUE) {
$dbc = mysqli_query($mysqli,"UPDATE users
SET year = '$year'
WHERE user_id = '$user_id'");
echo '<p class="changes-saved">Your changes have been saved!</p>';
}
if (!$dbc) {
print mysqli_error($mysqli);
return;
}
İşte kod birlikte olduğunu.
if (isset($_POST['submit'])) {
if(isset($_POST['year']) && intval($_POST['year']) && strlen($_POST['year']) == 4) {
$year = mysqli_real_escape_string($mysqli, $purifier->purify(htmlentities(strip_tags($_POST['year']))));
} else if($_POST['year'] && strlen($_POST['year']) < 4) {
echo '<p class="error">year is not correct!</p>';
} else if($_POST['year'] == NULL) {
if (mysqli_num_rows($dbc) == 0) {
$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"INSERT INTO users (user_id, year)
VALUES ('$user_id', '$year')");
}
if ($dbc == TRUE) {
$dbc = mysqli_query($mysqli,"UPDATE users
SET year = '$year'
WHERE user_id = '$user_id'");
echo '<p class="changes-saved">Your changes have been saved!</p>';
}
if (!$dbc) {
print mysqli_error($mysqli);
return;
}
}
}
Sorun bu hat üzerinde olmak zorundadır.
if(isset($_POST['year']) && intval($_POST['year']) && strlen($_POST['year']) == 4) {
$year = mysqli_real_escape_string($mysqli, $purifier->purify(htmlentities(strip_tags($_POST['year']))));