Autor | Zpráva | ||
---|---|---|---|
jarX Profil |
#1 · Zasláno: 15. 8. 2023, 14:31:19
Zdravím, poradil by mě někdo jak udělat script, který by zastavil nahrávání fotografií podle počtu určeného v druhé tabulce uživatele . Mám dvě tabulky uzivatel a fotogalerie. V tabulce uzivatel mám určený počet fotografií, který se dá nahrát a do tabulky fotogalerie nahrávám fotografie. Script pro nahrávání mě funguje jen bych potřeboval nějak zastavit nahrávání, když dosáhnu stanovaný počet podle tabulky uzivatel. Mohl by mě někdo poradit???? Díky moc předem.
|
||
blaaablaaa Profil |
#2 · Zasláno: 15. 8. 2023, 14:36:12
jarX:
Před odesláním formuláře lze v javascriptu zkontrolovat, kolik souboru odesílá, kolik může odeslat a případně to podle toho omezit + to samé na serveru před uložením souboru. |
||
jarX Profil |
blaaablaaa:
Mě jde než se mě vloží fotka do insert a tabulky, tak udělat nějakou podmínku na počet podle počtu určeného co mohu nahrát. Dík za odpověd jarX: Posílám script co tam mám ale nejde mě zastavit nahrávání, když dosáhnu počtu v tabulce. if(isset($_POST["foto"])) { $vysledeks=mysqli_query($spojeni,"SELECT * FROM predplatne where jmeno2 = '".$_SESSION['jmeno2']."' and idendita = '".$_SESSION["idendita"]."' "); $zaznamu=mysqli_fetch_assoc($vysledeks); $pocetfoto = "".$zaznamu["pocet"].""; $vysledek=mysqli_query($spojeni,"SELECT COUNT(*) AS count FROM objednavka_docas where idendita = '".$_SESSION["idendita"]."' "); $zaznam=MySQLi_fetch_assoc($vysledek); if($zaznam["count"] < $pocetfoto) { $data=mysqli_query($spojeni,"INSERT INTO objednavka_docas VALUES('$id','$idendita','$objednavka','$cislo','$pocet','$rozliseni','$cena','$mena')"); } else { } } Moderátor Kajman: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
blaaablaaa Profil |
jarX:
No a kde je problém? Než fotku vložíte do tabulky, zjistíte, kolik může nahrát fotek a kolik jich už má nahraných (lze v jednom dotazu) a podle toho vložíte nový záznam + zpracujete soubor nebo ne. Pokud skript nefunguje, je potřeba jej odkrokovat a zjistit, proč se podmínka vyhodnotí jinak, než čekáte. Např. nejjednodušeji přes var_dump($zaznam, $pocetfoto); exit;
|
||
Kajman Profil |
Pokud porovnáváte stringy, tak tam platí, že '10'<'2'. Mějte v těch proměnných čísla. Navíc ten kousek kódu vypadá, že není ošetřený na sql injection.
Edit: Tak pardon, vypadá to, že php vrací pro '10'<'2' false a ne true, jako některé jiné jazyky nebo při použití funkce strcomp. |
||
jarX Profil |
#6 · Zasláno: 15. 8. 2023, 16:25:32
Kajman:
Zdravím, čísla tam mám v obou tabulkách, jen mě není jasné co ta podmínka if($zaznam["count"] < $pocetfoto) , když dosáhnu stanovený počet zda nemá být insert $data=mysqli_query($spojeni,"INSERT INTO objednavka_docas v tom druhém pod ELSE. Dík za radu. |
||
Kajman Profil |
jarX:
„Zdravím, čísla tam mám v obou tabulkách“ A myslíte, že po této operci bude v té proměnné opravdu číslo? $pocetfoto = "".$zaznamu["pocet"].""; Co vypsal ten var_dump? |
||
Časová prodleva: 1 rok
|
0