Autor Zpráva
trsak1
Profil
Jak se tam vlastně přidává Avatar? pátral sem na googlu ale nic sem nevypátral a neevím ani jak uživatel nahraje avatar na server..
Neznáte stránku nebo něco s návodem? Díky!
Alphard
Profil
Nejčastější potíže s PHP (FAQ)
PanP
Profil
Zdar,sice jsem si ten FAQ pročetl,ale nenašel jsem tam přesně co potřebuji,ale mam to trchu udělaný,ale nefunkční.Potřeboval bych poradit jak udělat : http://jyxo.info/uploads/17/173efd14ae036ede40b889acddb14fffe5e03dfa.jpg ,uživatel dá procházet,vybere si obrázek nahraje ho (kliknutím na tu disketu) a obrázek se mu zobrazí tam kde je ta silueta.Je někdo schopnej mi poradit?Díky
DarkMeni
Profil
1) Máš udělaný formulář a zpracovávací skript na upload?
2) Uloží se ten obrázek na server?
3) Uloží se uživateli odkaz do databáze na obrázek který si nahrál?

Splňuješ tyto body?
candiess
Profil
<?php
$slozka = "avatars";

if (isset($_POST["jmeno_souboru"])) {
$jmeno_souboru=$_POST["jmeno_souboru"];
} else $jmeno_souboru="";

if (isset($_FILES["jmeno_souboru"]["name"]))  
{ 
 if (is_uploaded_file($_FILES["jmeno_souboru"]["tmp_name"])) 
 { 
  $name = $_FILES["jmeno_souboru"]["name"]; 
  if($name=="default.png") { // pokud ma obrazek jmeno default.png tak se přejmenuje, poněvadž default.png bude ta silueta
  $new = rand(200,80000).".png";
  rename($name,$new);
  $name = $new;
  }
  
  if (move_uploaded_file($_FILES["jmeno_souboru"]["tmp_name"], "./$slozka/$name"))  
{
$query = mysql_query(" UPDATE uzivatele SET avatar='$slozka/$name' WHERE ID = $IDuzivatele"); 
header("Location: index.php");
   
    echo "<div class='info'>Soubor byl ůspěšně nahrán</div>"; 
   } 
  else {echo"<div class='warning'>Nastala chyba</div>";} 
}}?>

<form action='#' method='post' enctype='multipart/form-data'>
<input id='search-submit' type='file' name='jmeno_souboru'/>
<input id='search-submit' type='submit' value='Nahrát obrázek'/>
</form>

PanP
Profil
Dobrý díky,ještě jak udělám do existující tabulky sloupeček avatars?Nejde mi to tam nahrát do tabulky uni1_users,dík
candiess
Profil
najed si do phpmyadmin tam si vyber svou tabulku a přidej do ni sloupec :)
PanP
Profil
Už to mam díky:),ale píše mi to chybu...když dám nahrát tak to vypíše že soubor byl úspěšně nahrán (nahraje se i do avatars složky),ale mam problém to hodit do DB

$query = mysql_query(" UPDATE uni1_users SET avatar='$slozka/$name' WHERE ID = $ID");
header("Location: index.php");

uni1_users je tabulka kde jsou uživatele,ID tam mam id uživatele +avatars sloupeček

píše to
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /data/web/virtuals/6907/virtual/www/upload.php on line 23

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data/web/virtuals/6907/virtual/www/upload.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/6907/virtual/www/upload.php:23) in /data/web/virtuals/6907/virtual/www/upload.php on line 24
Soubor byl ůspěšně nahrán
panther
Profil
PanP:
Can't connect to local MySQL server
copak to asi znamená? Základy jazyka anglického jsi už snad měl, ne? Případně, není problém tuto hlášku předhodit googlu.

Soubor byl ůspěšně nahrán
ůspěšně :-)
candiess
Profil
aha, sory..
$query = mysql_query(" UPDATE uni1_users SET avatar='$slozka/$name' WHERE ID = $ID", $pripojeni);

, kde to $pripojeni je mysql connect a take ty cypárny :)
panther
Profil
candiess:
druhý parametr u mysql_query není povinný. Při jednom připojení je jasné, který link k připojení k DB je aktivní. Tímto zmiňovanou chybu nenapravíš (nemá-li tazatel více otevřených spojení, což nepředpokládám).
PanP
Profil
Už to píše jen
Warning: mysql_query() expects parameter 2 to be resource, null given in /data/web/virtuals/6907/virtual/www/upload.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/6907/virtual/www/upload.php:23) in /data/web/virtuals/6907/virtual/www/upload.php on line 24
candiess
Profil
tak ten druhý parametr ($pripojení) asi nemáš nadefinován, dej si tam proměnnou, která je definována jako připojeí DB ke stránkam, a ten druhý warning je, že máš po mojem header() dalěí výstup, takže budto vymažeš ten header() a nebo ten výstup za ním ;)
panther
Profil
candiess:
takže budto vymažeš ten header() a nebo ten výstup za ním
header je tam správně a výstup za headerem je v pořádku. Nesmí být před ním (v tomto případě varování k fci mysql_query(), které tam nebude).
PanP
Profil
Už to nehlásí chybu takže to bude vpořádku,ale teď je problém že jsem to dal do soubor.tpl a tpl nejspíš PHP nebere
candiess
Profil
tpl nejspíš nebere, sám nevím co je to za formát :D
nicelemon
Profil
PanP:
A proč jsi to do něj vůbec dával ? Nech to v soubor.php, ne ?
panther
Profil
candiess:
sám nevím co je to za formát
tak raději nepiš.

PanP:
jsem to dal do soubor.tpl a tpl nejspíš PHP nebere
většinou bere, záleží na konkrténím šablonovacím systému. Nic to nemění na faktu, že PHP v templatách nemá co dělat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: