Вземане на аватар от Url?

Stanimirvoivoda

Registered
Добър ден , имам таблица users и колона avatar!
Нали всичко си работи но искам при регистрация потребителите да дават url за аватара им! :lol:

И ако може да се сменя аватара по url имам следният код но нещо не работи нз защо?
Ако може да го погледнете дали е добре и дами дадете идея при рег да изисквам url за аватара!


Код:
$our = mysql_query("SELECT * FROM users WHERE id = '$id'") or die(mysql_error());
while($row = mysql_fetch_array($our)) {
$avatar = $row['avatar'];
}
if (!isset($_POST['update'])) {
echo ("
<form method=\"POST\">


<td>Аватар:</td>
<td><input type=\"text\" name=\"avatar\" value=\"$avatar\" class=\"input\"></td>
</tr>
<tr>
<td colspan=\"2\">
<input type=\"submit\" name=\"update\" value=\"Прати\" class=\"button\"></td>
</tr>
</table>



</form>");
}
else {
$avatar = $_POST['avatar'];
$update = mysql_query("Update users set avatar = '$avatar' where id = '$id'") or die(mysql_error());
if(empty($avatar)) {
die("Съобщение");
}
if (!empty($avatar)) {
$proverka = mysql_query("SELECT * FROM users WHERE id='$id'") or die(mysql_error());
$r = mysql_fetch_array($proverka);
}
else { echo (" <center> Невалиден линк на аватара! </center> "); }
echo (" <center> Аватара е сменен успешно! </center> ");
echo ("<meta http-equiv=\"refresh\" content=\"3; url=avatar.php\">");
}
 
Пълен мармалад... откъде ги взимате тия примерчета?

1. Ориентирайте се към друг драйвер - mysqli или PDO. Модула mysql скоро ще бъде изхвърлен от употреба;
2. Първата заявка е безсмислена - може да се премахне;
3. Задължително прекарайте $_POST['avatar'] през филтри, сласшване или най-добре с prepared заявка.
4. Ако махнете първата заявка - правете проверка, дали има стойност за $avatar - ъпдейтвате само когато имате;
5. Всичко по-надолу е излишно.

За да видите къде дава грешка - включвате си директивите за грешки при PHP:

Код:
error_reporting(E_ALL);
ini_set('display_errors', '1');
[/sql]
 
Знам че кода е доста зле не е мой а го взех от форума :) !
И да знам за mysql той е спрян от up...

mysqli_query($db_connection_link," ползвам вече просто дадох примерен код :)

Бих искал да ми предложите нов код за смяна на аватар по url дрес или метод аз ще си го оправя!
Благодаря предварително!
 
PHP:
<?php
$user = 'root';
$pass = 'password';
$database = 'database';
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $pass);
$query = $db->query("SELECT `avatar` FROM `users` WHERE `id` = '$id'");
$current = $query->fetch(PDO::FETCH_OBJ);
echo '
<form method="post">
<label for="avatar">Аватар</label>
<input type="text" name="avatar" id="avatar" value="'. $current->avatar .'">
<input type="submit" name="submit" value="Обнови">
</form>
';

if (isSet($_POST['submit'])) {
    $avatar = htmlspecialchars($_POST['avatar']);
    $db->query("UPDATE `users` SET `avatar` = '$avatar' WHERE `id` = '$id'");
    header('Location: fileName.php');
}
?>
 

Back
Горе