Autor Zpráva
Daniel47
Profil
Ahojte všichni!

Jak skontrolovat jestli je soubor nahrátý <inpu type="file"> aby se neodeslal script na server pokud není přiřazen soubor.

Kód pro úpravu:
 <!DOCTYPE html>
<html lang="cs-cz">
<head> 
<meta charset="windows-1250">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />                                        
<link rel="apple-touch-icon" sizes="114x114" href="http://dettube-cz.euweb.cz/img/ikona-1.ico" />
<link rel="stylesheet" href="http://www.dettube-cz.euweb.cz/css/styl.css">
<script src="http://www.dettube-cz.euweb.cz/js/main.js"></script>
<noscript>
<meta http-equiv="refresh" content="0.0;URL=http://www.dettube-cz.euweb.cz/noscript.html">
</noscript>  
  <title>Dettube-cz - ostatni -- videa</title>  
<meta name="author" content="Daniel" />
<meta name="format-detection" content="telephone=no">
    </head>
<body>       
<?php
header('Content-type: text/html; charset=windows-1250');

if (isset($_FILES['image_']))
{
        $imagesCount = count($_FILES['image_']['name']);                                                                                   
        for ($i = 0; $i < $imagesCount; $i++)
        {                                             
          if (move_uploaded_file($_FILES['image_']['tmp_name'][$i], 'videa/' . $_FILES['image_']['name'][$i])) 
$autor = $_POST['autor']; 
$nazev = $_POST['nazev']; 
   $popis = $_POST['popis'];
 
$datum = Date("j/m/Y - - H:i:s", Time());

$data = file_get_contents("data-videa.inc");

$f =fopen("data-videa.inc", "w"); //otevření souboru: data-diskuze.inc                                                   

$autor = str_replace("<","#", $autor); 
$autor = str_replace(">","#", $autor); 
$autor = substr($autor, 0, 22);

$nazev = str_replace("<","#", $nazev); 
$nazev = str_replace(">","#", $nazev); 
$nazev = substr($nazev, 0, 168);

$popis = str_replace("<","#", $popis); 
$popis = str_replace(">","#", $popis); 
$popis = substr($popis, 0, 168);

fwrite($f,  '<dd><video width="532px" height="320px" src="/videa/'.$_FILES['image_']['name'][$i].'" poster="http://dettube-cz.euweb.cz/img/ostatni-videa-foto.jpg" 
preload="none" crossorigin="anonymous" controls><track src="http://dettube-cz.euweb.cz/webvtt/czt-video-info.txt" kind="subtitles" srclang="cs" label="České titulky" default></video><br /><b>'.$autor.': '.$datum.' </b><br /><div class="ram-1"><center><h2>'.$nazev.'</h2><p>'.$popis.'</p></center></div></p></dd><hr size="5px" color="blue"></dd>'.$data); 
fclose($f); 
header('Location: http://www.dettube-cz.euweb.cz/ostatni-videa.php');                                  
   }    
}
?>
<h1 class="center">Ostatní videa</h1> 
<p><a href="http://www.dettube-cz.euweb.cz"><b>Zpět na hlavní stranu Dettube-cz</b></a>
<hr class="hr-red"> 
<h2>Nahrávač videí:</h2>
<form method="post" accept-charset="windows-1250" name="file_upload" enctype="multipart/form-data"> 
<b>Připoj video ke formuláři:</b><br />
<input class="button-blue" style="color: white;" type="file" multiple="1" accept="video/*" name="image_[]" /><br /> 
<b>Jméno a příjmení nebo přesdívku:</b><br />
<input type="text" name="autor" maxlength="48" style="border: 5px solid blue; background-color: yellow" placeholder="Jm. a př. nebo přesdívku­" required="" accesskey="j"><br /> 
<b>Nazev videa:</b><br />
<input type="text" name="nazev" maxlength="48" style="border: 5px solid blue; background-color: yellow" placeholder="Název videa­" required="" accesskey="n"><br />  
<b>Popisek videa:</b><br /> 
<small>Smajlíky: <b>(-Přidej Smajlíky kliknutím na ně-)</b></small><br />
<span onclick="FillEmojiOne()">��</span><span onclick="FillEmojiTwo()">��</span><span onclick="FillEmojiThree()">��</span><span onclick="FillEmojiFour()">��</span><span onclick="FillEmojiFive()">��</span><span onclick="FillEmojiSix()">��</span><span onclick="FillEmojiSeven()">��</span><span onclick="FillEmojiEight()">��</span><span onclick="FillEmojiNine()">��</span><span onclick="FillEmojiTen()">��</span><span onclick="FillEmojiEleven()">��</span><span onclick="FillEmojiTwelve()">��</span><span onclick="FillEmojiThirteen()">��</span><span onclick="FillEmojiFourteen()">��</span><span onclick="FillEmojiFifteen()">��</span>
<textarea name="popis" id="EmojiCteniPridat" rows="5" cols="38"style="border: 5px solid blue; background-color: yellow" placeholder="Popisek videa" required="" minlength="12" maxlength="168" accesskey="p"></textarea><br />
<h3>Opište kód:</h3>
<canvas width="220px" height="68px" id="NoSpamKodCanvasVypsani"><p>Kód nelze vypsat.</p></canvas>
<br /><input style="border: 5px solid blue; background-color: yellow" placeholder="Opište sem kód­" size="15px" type="text" id="TextNoSpam"><br />
<table><tr><td><div id="button-1"><a class="button-green" onclick="OpenNoSpam()"><b>OVĚŘIT</b></a></div><td><button class="button-red" type="reset"><b>SMAZAT</b></button></tr></table>
</form>
<?php 
echo ('<hr class="hr-red"><h2>Videa:</h2><hr size="5px" color="blue">');
include "data-videa.inc";
echo  ('<hr class="hr-red">');
?>
 </body>
</html> 

Budu rád za radu.
Keeehi
Profil
Stejně jako ve vedlejším vlákně kam jsi dnes psal. Přidej mu atribut required.
Daniel47
Profil
Keeehi:
Moc díky funguje to! A kdybych to chtěl udělat i na straně serveru, jak by vypadal kód?
blaaablaaa
Profil
if ($_SERVER['REQUEST_METHOD'] === 'POST' && (!isset($_FILES['image_']) || $_FILES['image_']['error'] > 0 ) ) { 
   echo "Neni soubor nebo je chyba";
}

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:

0