Autor | Zpráva | ||
---|---|---|---|
raddimm.xx Profil |
#1 · Zasláno: 28. 7. 2018, 07:55:38
Přecházím na PHP7 a nemůžu najít jak vyřešit incializiace proměnných z formuláře
Pokud někdo odešle formulář (dvě pole) a ve skriptu mám: if > odeslany formulář > ulož $set = array(); $set["titulek"] = "'" . $zaznamy["titulek"] . "'"; $set["perex"] = "'" . $zaznamy["perex"] . "'"; $pozadavek = mysqli_query($link,"INSERT INTO clanky (" . implode(", ", array_keys($set)) . ") VALUES (" . implode(", ", $set) . ")"); přičemž pole perex je prázdné vypise chybu: Notice: Undefined index: perex chaps ze to je problém nutnosti incializovat proměnou? ale jak to vyřešit elegantně? |
||
Beavis Profil |
#2 · Zasláno: 28. 7. 2018, 10:42:57
raddimm.xx:
<?php $set = []; $set['titulek'] = $zaznamy['titulek'] ?? 'fallback, případně prázdný string'; |
||
Tomášeek Profil |
#3 · Zasláno: 28. 7. 2018, 10:56:26
raddimm.xx:
Nikde neuvádíš, kde se bere pole $zaznamy . Navíc je zbytečné, data jsou v GET/POST.
Ten SQL dotaz je taky pekelný. Jednak stylem skládání, kdy se klíče musí shodovat s názvy sloupců v DB, druhak neošetřený. Beavis: Ano, teoreticky ano. Ale neřeší to příčinu problému. Formulářová pole (textová, numbery, textarey, ...) se odesílají i prázdná, nejde-li zrovna o checkboxy. |
||
Časová prodleva: 6 let
|
0