Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
| Autor | Správa |
|---|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
mam takyto problem na ochranu ci boli vyplnene vsetky polia pouzivam takyto kod
if(!$_POST['text']) {
echo 'Chyba! Musíte napísat text!';
die;
}
toto funguje ale mam jeden input s nazvom MAX_FILE_SIZE do ktoreho pridavam obrazky ale tu nastava problem pretoze chcem aby ak uzivatel neprida obrazok spravil nieco a ak prida aby spravil nieco ine, skusam to takto
if (!$_POST['MAX_FILE_SIZE']){
nieco
}
else if ($_POST['MAX_FILE_SIZE'] >= 0 && $_POST['MAX_FILE_SIZE'] >= $_FILES['file']['size']) {
nieco ine
}
ten druhy riadok funguje dobre, no ten prvy nie. aj ked je MAX_FILE_SIZE prazdne a vobec nic sa s nim nerobi tak mi okamzite prejde na to druhe esle if.diky
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Preco kontrolujes max file size? To je predsa velkost suboru. Ty chces kontrolovat ci bol zadany obrazok, alebo nie. Ved mas Kód: <input type="file" name="upload" > tak to otestujes Kód: if (!$_POST['upload']){ nieco }
else { nieco ine }
nejako tak... neskusal som...
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
takto urcite nie, v podmienke ma byt if(!empty($_FILES['upload']))...
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
aj to som skusal potom mi ale spravi to ze aj ked bude vlozeny obrazok urobi mi opat to prve a obrazok mi nevlozi cize k tomu else if sa ani nedostane a vzdy spravi len tu prvu podmienku
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
Drako píše: takto urcite nie, v podmienke ma byt if(!empty($_FILES['upload']))... teraz som to skusal ale nefunguje mi to vzdy mi spravi len tu prvu podmienku aj ked pridam obrazok tak mi to vyhodnoti ako keby som ho nespravil
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
prva podmienka sa vykona vtedy ak ho tam pridas cize ked nie(!)je prazdny(empty)
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
nie je chcem aby prva podmienka mi ho nepridala a druha mi ho prida lebo ta testuje aky je velky a ci je vlastne vlozeny
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA | |
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
samozrejme ze som dal prec vykricnik ale spravilo mi to opat to iste zi mi preskocil tu prvu podmienku a obrazok mi pridal cize presne to co som nechcel
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA | |
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
Priložiť obrázok : <br>
<input type="file" name="file" class="obrazok">
<input type="hidden" name="MAX_FILE_SIZE" value="96000">
<br>
<input type="submit" name="Submit" value="Odoslať">
if (empty($_FILES['file'])){
$sql = sprintf("INSERT INTO inzerat (kategoria_id, nazov, meno, kontakt, text, cena, vytvorene)
VALUES ($kategoria_id, '$nazov', '$meno', '$kontakt', '$text', $cena, '" . date("Y-m-d h:m")."')");
$data = mysql_query($sql) or die(mysql_error() . $sql);
$id = mysql_insert_id();
echo "<font color='red'>Vas inzerat bol uspesne odoslany! bez obrazku</font>";
}
else if ($_POST['MAX_FILE_SIZE'] >= 0 && $_POST['MAX_FILE_SIZE'] >= $_FILES['file']['size']) {
$sql = sprintf("INSERT INTO inzerat (kategoria_id, nazov, meno, kontakt, text, cena, vytvorene)
VALUES ($kategoria_id, '$nazov', '$meno', '$kontakt', '$text', $cena, '" . date("Y-m-d h:m")."')");
$data = mysql_query($sql) or die(mysql_error() . $sql);
$id = mysql_insert_id();
$sql = "INSERT INTO obrazok VALUES(null, " . $id . ", '')";
$data = mysql_query($sql) or die(mysql_error() . $sql);
$id = mysql_insert_id();
$file_name = $id . strrchr($_FILES["file"]["name"], ".");
$sql = "UPDATE obrazok SET nazov = '" . $file_name . "' WHERE obrazok_id = $id";
$data = mysql_query($sql);
resize_image($_FILES["file"]["tmp_name"], './obrazky/small' . $file_name, 60, 50);
resize_image($_FILES["file"]["tmp_name"], './obrazky/big' . $file_name, 300, 240);
//print_r($_FILES);
echo "<font color='red'>Vas inzerat bol uspesne odoslany!</font>";
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
tam nema byt >= ale <= a naco tam mas toto $_POST['MAX_FILE_SIZE'] >= 0 by ma tiez zaujimalo to zmas pretoze vzdycky je vacsie jak nula ked mu zadas hodnotu 96000
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
zmazal som to ale aj tak to nic neriesi, ja nemam problem s druhou podmienkou ta sa vykonava spravne mam problem ze ta prva podmienka nefunguje jednoducho ju prebehne a ide na tu druhu
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
Napis co presne chces aby ti to robilo, lebo som z toho nejaky domotany. co chces uploadnut a co ma kontrolovat prva a co druha podnienka.
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
prva podmienka spravi toto : ak nieje prilozeny obrazok ulozi do db len inzerat
kontroluje ci je pole file prazdne, ak nie prejde na druhu podmienku
druha podmienka spravi toto : ak je prilozeny obrazok prida inzerat aj z obrazkom
a kontroluje velkost obrazku
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
sorry, ale musel som odist. skus to takto:
Kód: <form method="POST" enctype="multipart/form-data"> Priložiť obrázok : <br> <input type="file" name="file" class="obrazok"> <input type="hidden" name="MAX_FILE_SIZE" value="96000"> <br> <input type="submit" name="Submit" value="Odoslať"> </form> <?php if (isset($_POST['Submit'])){ $obrazok = $_FILES['file']['name']; if (!$obrazok){ $sql = sprintf("INSERT INTO inzerat (kategoria_id, nazov, meno, kontakt, text, cena, vytvorene) VALUES ($kategoria_id, '$nazov', '$meno', '$kontakt', '$text', $cena, '" . date("Y-m-d h:m")."')"); $data = mysql_query($sql) or die(mysql_error() . $sql); $id = mysql_insert_id(); echo "<font color='red'>Vas inzerat bol uspesne odoslany! bez obrazku</font>"; } else if ($_POST['MAX_FILE_SIZE'] >= $_FILES['file']['size']){ $sql = sprintf("INSERT INTO inzerat (kategoria_id, nazov, meno, kontakt, text, cena, vytvorene) VALUES ($kategoria_id, '$nazov', '$meno', '$kontakt', '$text', $cena, '" . date("Y-m-d h:m")."')"); $data = mysql_query($sql) or die(mysql_error() . $sql); $id = mysql_insert_id();
$sql = "INSERT INTO obrazok VALUES(null, " . $id . ", '')"; $data = mysql_query($sql) or die(mysql_error() . $sql); $id = mysql_insert_id();
$file_name = $id . strrchr($_FILES["file"]["name"], "."); $sql = "UPDATE obrazok SET nazov = '" . $file_name . "' WHERE obrazok_id = $id"; $data = mysql_query($sql);
resize_image($_FILES["file"]["tmp_name"], './obrazky/small' . $file_name, 60, 50); resize_image($_FILES["file"]["tmp_name"], './obrazky/big' . $file_name, 300, 240);
//print_r($_FILES);
echo "<font color='red'>Vas inzerat bol uspesne odoslany!</font>"; } } ?>
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | 32 |
diky moc funguje to  fakt si mi pomohol
|
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
... NEJAK som si nevsimol, ze tu bola aj 2.stranka a ze problem bol uz vyrieseny a moj nasledujuci prispevok bezpredmetny...
neviem, ci je toto spravna podmienka na ten tvoj test, ale skus nasledovne:
Kód: if (!isset($_FILES['file']['name'])) { // prva podmienka } else if ...atd
|
|
Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
|