Sveiki. Kur ir kļūda? Es jau aptuveni 2 stundas nevaru uztaisīt tā, lai nenotiek "if ($auth->id) $db->query("")"
Esmu mēģinājis gan elseif variantus, gan && isset($_POST['null']), nekas nestrādā.
Es aizmirsu ielikt pašu kodu, lol.
Lai nu kā, laikam būs jāsāk izmantot "rubber duck debugging". Tiklīdz ierakstiju miniblogā, uzreiz risinājums tapa skaidrs.
<?php
if ($auth->id) {
$id = $auth->id;
$print = $db->query("SELECT * FROM users WHERE id = '$id'");
while ($new = $print->fetch_object())
echo '
<form action="/blog/me/edit" method="post"><center><b>Lietotājvārds: </b><br />' . $new->username . '<br />
<b>Lietotāja nosaukums: </b><br /><textarea name="title" rows="1" cols="30">' . $new->title . '</textarea><br />
<b>E-Pasts: </b><br /><textarea name="email" rows="1" cols="30">' . $new->email . '</textarea><br />
<b>Mājaslapa: </b><br /><textarea name="website" rows="1" cols="30">' . $new->website . '</textarea><br />
<b>Par sevi: </b><br /><textarea id="elm3" name="about" rows="20" cols="80">' . $new->about . '</textarea><br /><strong>Šeit ieraksti "123":</strong><br /><textarea name="null" rows="1" cols="80" ></textarea><br /><input type="submit" value="Labot" /><br /></center>';
}
if (isset($_POST['null']) && $auth->id) {
$db = new mysqli();
$title = $db->real_escape_string($_POST['title']);
$email = $db->real_escape_string($_POST['email']);
$website = $db->real_escape_string($_POST['website']);
$about = $db->real_escape_string($_POST['about']);
$null = $db->real_escape_string($_POST['null']);
$id = $auth->id;
$db->query("UPDATE `users` SET `title` = '$title', `email` = '$email', `website` = '$website', `about` = '$about' WHERE `id` = '$id'");
}
?>
Pirmīt man tie abi nebija atdalīti, tapēc sanāca, ka refrešojot lapu, datubāzes ieraksts apdeitojas ar tukšām ailēm. Tad es sadaliju divos, viens iegūst pašreizējos datus, un otrs izpilda kveriju tikai tad, ja textarea null ieraksta vismaz 3 zīmes (lol).