Autor | Zpráva | ||
---|---|---|---|
Microfox Profil * |
<?php session_start(); ?> <?php if(!isset($_SESSION['prihlasen']) and @$_SESSION['prihlasen']!=1){ echo "<h2>Nejsi přihlášen!</h2>"; exit; } ?> <p> <?php error_reporting(E_ALL); $db_server = "mysql.ic.cz"; $db_login = "ic_***"; $db_heslo = "***"; $db_jmeno = "ic_***"; $hlavicka = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html><head><meta http-equiv=\"Content-type\" content=\"text/html; charset=windows-1250\" /></head><body>"; $paticka = "</body></html>"; $pass = md5($heslo); @mysql_pconnect("$db_server","$db_login","$db_heslo") or die($hlavicka."Nepodařilo se připojit k databázovému serveru.".$paticka); @mysql_select_db("$db_jmeno") or die ($hlavicka."Nepodařilo se přojit k databázi.".$paticka); $set = @mysql_query ('SET NAMES UTF-8'); $result = mysql_query("SELECT id,jmeno,foto_1,foto_2,foto_3,foto_4,foto_5 FROM users WHERE id='".$_SESSION['prihlasen']."' "); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo " <form action=\"#\" method=\"post\" enctype=\"multipart/form-data\"> <input type=\"file\" name=\"fupload\"> <br> <input type=\"submit\" value=\"Nahrát\"> </form>"; $nazev="{$row[jmeno]}"; if (isset($_FILES['fupload'])) { if($_FILES['fupload']['type']=="application/octet-stream"){ echo "Soubory s příponou PHP jsou zakázány!"; echo "Soubory s příponou PHP jsou zakázány!"; }elseif($_FILES['fupload']['size'] > 1024*1024){ echo "Soubor přesahuje maximální limit 1MB!"; }else{ $slozka = "./index_soubory/nastaveni/photos/$nazev"; $dcil = $slozka . "/" .$_FILES['fupload']['name']; $nazev_souboru = $_FILES['fupload']['tmp_name']; $copy = move_uploaded_file($nazev_souboru, $dcil) or die ("Přenesený soubor nelze zkopírovat"); chmod ($dcil, 0777); unlink("./index_soubory/nastaveni/photos/{$row[jmeno]}/{$row[foto_1]}"); //pokud uzivatel nahrava novy obrazek, stary se ze slozky vymaze $fold="/home/free/ic.cz/m/microfoxsport/root"; copy("index_soubory/nastaveni/not_foto.jpg", "index_soubory/nastaveni/photos/$nazev/not_foto.jpg"); //pokud-li uzivatel predtim obrazek nahrany nemel, automaticky byl prednastaven obrazek not_foto.jpg, ale kdyz nahraje novy obrazek tak se samozrejme not_foto.jpg vymaze a jelikoz ze je to prednastaveny obrazek, je potreba ho tam mit. mkdir($fold, 0777 ); chmod($fold, 0777 ); } } $foto_1=$_FILES['fupload']['name']; if($foto_1=="" or $foto_1==""){ //pokud nezadal web tak dame promennou web prazdnou $foto_1="{$row[foto_1]}"; } $foto_2=$_FILES['fupload2']['name']; if($foto_2=="" or $foto_2==""){ //pokud nezadal web tak dame promennou web prazdnou $foto_2="{$row[foto_2]}"; } $foto_3=$_FILES['fupload3']['name']; if($foto_3=="" or $foto_3==""){ //pokud nezadal web tak dame promennou web prazdnou $foto_3="{$row[foto_3]}"; } $foto_4=$_FILES['fupload4']['name']; if($foto_4=="" or $foto_4==""){ //pokud nezadal web tak dame promennou web prazdnou $foto_4="{$row[foto_4]}"; } $foto_5=$_FILES['fupload5']['name']; if($foto_5=="" or $foto_5==""){ //pokud nezadal web tak dame promennou web prazdnou $foto_5="{$row[foto_5]}"; } } ?> <? if (isset($_FILES['fupload'])) { $db="ic_***"; $spojeni = mysql_connect("mysql.ic.cz","ic_***","***"); mysql_select_db($db, $spojeni); $sql="UPDATE `users` SET foto_1='".$foto_1."',foto_2='".$foto_2."',foto_3='".$foto_3."',foto_4='".$foto_4."',foto_5='".$foto_5."' WHERE `id`='".$_SESSION['prihlasen']."' LIMIT 1"; $zmena=mysql_query($sql, $spojeni); if($zmena) echo '<h3>DATA UPRAVENA</h3>'; //echo '<META HTTP-EQUIV="Refresh" CONTENT="0">'; } ?></p> Resim profilovy foto, pri registraci uzivatel vyplni naky udaje hlavni a jmeno je povazovano jako slozka $jmeno. Ta se pri registraci uzivatele vytvori soucasne s nim a do ty slozky se budou zapisovat obrazky. V databazi jsem udelal foto_1 az foto_5 - tudiz muze kazdy uzivatel nahrat pouze pet obrazku (to je umyslne). Na teto strance potrebuju mit prave pet formularu a to tak, ze kdyz uzivatel vybere pouze jeden obrazek, aby ostatni nazvy zustaly stejne coz jsem dokazal pomoci tech podminek if. Jenze jak tam dat tech pet formularu tak aby to fungovalo? No nekdo mozna uz chape na co narazim, ale mozna sem si to hodne zkomplikoval. To vite, zacatecnik v php. Proc delat veci jednoduse kdyz jdou slozite. *proste je to udelany tak, ze kdyz uzivatel nahraje obrazek, tak ja zjistim nazev obrazku c.1 a ulozim ho do sloupce k foto_1 (DB) k tomu danymu uzivateli coz je reseny pres session a funguje to. Pomoci nazvu kterej je tedy zapsanej v DB si vytahnu promenou a uz ho zobrazim. Proste kdo da dohromady ten kod je u me borec. Zrovna lehky mi to teda nepripada... Kdo to bude chtit resit po icq muzeme, klidne dam i ftp udaje, je to zkusebni web a potrebuju to rozchodit abych to mohl aplikovat do webu... Mail: microfox@seznam.cz Predem diky za kod teda pokud ho da nekdo dohromady Moderátor Majkl578: Titulek „Specialni ukol pro velmi chytre...“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Microfox Profil * |
#2 · Zasláno: 4. 4. 2010, 17:38:32
jj omuvte ty komentare za tema podminka if, to je blbost ze nezadal web. Proste z formulare nevylezl zadny nazev tak tam ponecha stavajici. To je lepsi komentar.Diky
|
||
Microfox Profil * |
#3 · Zasláno: 4. 4. 2010, 17:53:27
Jo, slo by to resit ze bych udelal celkem pet stranek a na kazdy strance by byl tenhle zdrojak bez tech podminek a dole by u SETu bylo jen foto_1, na druhe jen foto_2 apod... az foto_5, ale pripada mi to jako hodne ulitli a kdyby uzivatel mel nahravat fotky tim ze po kazdy bude muset prejit na jinou stranku tak to je divny a odradi ho to
|
||
AM_ Profil |
#4 · Zasláno: 4. 4. 2010, 17:54:30 · Upravil/a: AM_
Tvůj příspěvek zřejmě patřil do této sekce.
NENÍ TO SPECIÁLNÍ ÚKOL PRO VELMI CHYTRÉ, každý člověk, který umí psát v PHP a není líný se zamyslet, to dá s trochou námahy dohromady. Nedělej tedy, prosím, tímto způsobem svému vláknu reklamu - pokud jsi to myslel upřímně, tak se omlouvám, ale toto opravdu ani pro začínajícího programátora není žádná výzva, jen trocha otravného kódění. Navíc, nějaký moderátor ti jistě řekne, že např "Jak změnit jednu fotografii z pěti" by byl výstižnější název tématu, takto by své téma mohl pojmenovat opravdu každý. //edit: tohle je strašné, špatně jak syntakticky, tak stylově: „$foto_1="{$row[foto_1]}";“ $foto_1 = $row['foto_1']; //toto je zcela správně $foto_1="$row[foto_1]"; //Toto je jedna z možností inline zápisu proměnné do řetězce, nicméně není žádný důvod zde používat inline stringový zápis $foto_1="{$row['foto_1']}"; //Druhá varianta inline zápisu (viz předchozí možnost- není důvod zde používat) Inline zápis se používá při vkládání proměnných do řetězců, ne používání proměnných samostatně. |
||
Časová prodleva: 16 let
|
0