Zadejte hledaný výraz...

PHP – Upload image: potřeboval bych odeslat formulář, kde je součástí obrázek

tazzys
verified
rating uzivatele
(10 hodnocení)
23. 3. 2016 09:51:44
Dobrý den, potřeboval bych odeslat formulář, kde je součástí obrázek. Upload obrázku ale není povinný a nemám tušení jak to udělat v takovém kodu.
if($_POST == "ano"){
$head = '';
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".exe");
foreach ($blacklist as $item) {
if(preg_match("/$item$/i", $_FILES)) {
echo "Povoleny pouze soubory, s koncovkou JPG!
";
header("refresh:4;url=zapas.php");
exit;
}
}
//upload obrazok
$i=1;
$zlozka_obrazok = 'tmp';
$kon = explode('.',$_FILES);
$kon = $kon;
$nazev = date("Y-m-d_H-i-s").'.'.$kon;
$subor_obrazok = $zlozka_obrazok .'/'.$nazev;
if(copy($_FILES, $subor_obrazok)) {
$src = imagecreatefromjpeg($subor_obrazok);
list($width,$height)=getimagesize($subor_obrazok);
$x_ratio = $maximalna_sirka / $width;
$y_ratio = $maximalna_vyska / $height;
if( ($width <= $maximalna_sirka) && ($height <= $maximalna_vyska) ){
$tn_width = $width;
$tn_height = $height;
}elseif (($x_ratio * $height) < $maximalna_vyska){
$tn_height = ceil($x_ratio * $height);
$tn_width = $maximalna_sirka;
}else{
$tn_width = ceil($y_ratio * $width);
$tn_height = $maximalna_vyska;
}
$chyba = true;
if($_SESSION == $_POST){
mysql_query("INSERT INTO system_zapasy (`kolo`, `id_utkani`, `id_domt`, `goly_domaci`, `goly_hoste`, `id_hostt`, `prodlouzeni`, `jpg`, `datum`, `schvaleno`, `cup`, `odeslal`, `hvezda1`, `hvezda2`, `hvezda3`, `typ` ) VALUES ('".$_POST."', 0, '".$_POST."', '".$_POST."', '".$_POST."', '".$_POST."', '".$_POST."', '".$nazev."', ".time().", 'ano', 'ne', '".$_POST."', '".$_POST."', '".$_POST."', '".$_POST."', '".$_POST."')");
print_r(mysql_error());
$chyby = "
Odesláno
";
$chyby = "
Odesláno
";
$chyba = false;
}else{$chyby = "
Zadali ste nespravny captcha kod
";}
}else{$chyby = "
Screen ".$_FILES." se nepodarilo nahrat !!
";}
}
Pak druhá věc, pokud formulář špatně zadám, napíše mi to chybu, ale obrázek se stejně uploadne, nevíte čím to může být ?
Za rady předem děkuji
23. 3. 2016 09:51:44
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184855
lol-man
verified
rating uzivatele
23. 3. 2016 11:04:30
a pak všude kde manipuluješ / kontroluješ obrázek přidáš
možná to jde udělat elegantněji.. já používám totu metodu
23. 3. 2016 11:04:30
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184854
TomasX
verified
rating uzivatele
(4 hodnocení)
23. 3. 2016 11:15:46
ten kód není bezpečný (sql injection) a kdokoliv ti může získat přístup do databáze, smazat jí nebo zkopírovat! Jinak je to pěkná prasečina, doporučuji si na to sehnat programátora.
Stačí, když kód na spracování obrázků přesuneš do if pro kontrolu captcha, pak se obrázky nebudou spracovávat pokud bude ve formuláři nějaké chyba.
Kód by měl vypadat nějak takhle (pouze to na co jsi se ptal, nic jiného jsem neopravoval):
23. 3. 2016 11:15:46
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184853
tazzys
verified
rating uzivatele
(10 hodnocení)
23. 3. 2016 12:00:07
Napsal lol-man;1279044
a pak všude kde manipuluješ / kontroluješ obrázek přidáš
možná to jde udělat elegantněji.. já používám totu metodu
No já bych potřeboval ale, že když není screen nahraný, tak i tak se to odešele
23. 3. 2016 12:00:07
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184852
Napsal TomášX;1279055
ten kód není bezpečný (sql injection) a kdokoliv ti může získat přístup do databáze, smazat jí nebo zkopírovat! Jinak je to pěkná prasečina, doporučuji si na to sehnat programátora.
Stačí, když kód na spracování obrázků přesuneš do if pro kontrolu captcha, pak se obrázky nebudou spracovávat pokud bude ve formuláři nějaké chyba.
Kód by měl vypadat nějak takhle (pouze to na co jsi se ptal, nic jiného jsem neopravoval):
SQL injection je poslední problém, přednější problémy jsou jinde.
23. 3. 2016 12:34:44
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184851
tazzys
verified
rating uzivatele
(10 hodnocení)
23. 3. 2016 12:51:45
Já jenom potřebuju, aby šel odeslat zápas bez toho, aby tam člověk musel uploadovat screen, je to web jen mezi kamarády, a bude stačit když to bude fungovat, nic víc nic mín :D
23. 3. 2016 12:51:45
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184850
TomasX
verified
rating uzivatele
(4 hodnocení)
23. 3. 2016 14:30:33
tazzys: ale jedná se nejspíš o veřejně dostupný web, kam ti může nějaký robot propašovat nebezpečný kód a můžeš poté svoje kamarády nakazit svinstvem.
Jasně, nepovinnost uploadu obrázku, ok, zkus tenhle kód:
23. 3. 2016 14:30:33
https://webtrh.cz/diskuse/php-upload-image-potreboval-bych-odeslat-formular-kde-je-soucasti-obrazek/#reply1184849
Pro odpověď se přihlašte.
Přihlásit