| 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: 3 roky
|
|||
0
).