Her får du hjelp til å lage hjemmeside med video. Alle verktøy og programmer vi bruker til å lage webside er gratis.
spørsmål rundt !isset og empty
- Logg på eller opprett en konto for å skrive kommentarer
Jeg har sett noen guider rundt på nettet hvor samtlige har satt !isset på samtlige felter. Slik:
if ( !isset($_POST['felt1']) || !isset($_POST['felt2'])) {
header ('location: url');
} elseif (empty($_POST['felt1']) || empty($_POST['felt2'])) {
header ('location: url.com/');
} else {
... action ...
}
Har sittet og tenkt littegranne og for meg ser det unødvendig ut å bruke !isset på feltene. Dette burde vel holde?:
if ( !isset($_POST['submit'])) { ... }
elseif (empty($_POST['felt1']) || empty($_POST['felt2'])) { ... }
else { ... action ... }
Vet at scriptet skal sjekke om at brukeren som forsøker å få tilgang kommer fra riktig plass. Altså har gått via den riktige formen. Men bare lurer litt.
eks. i forbindelse med artikkel-opplastingen min da. Så har jeg 10 felter/elementer som skal fylles ut. Sant.
Så det føltes bare unødvendig mye, og tungvindt, å fylle ut 10 !isset(); og 10 empty(); i starten av scriptet.
Lurte også på en enklere måte å gjøre det hele på. Men det forklarte du på en måte så jeg...
Hvorfor bruke !isset()? Enten så er skjemaet sendt, eller så er det ikke sendt. Les det jeg skrev ovenfor én gang til.
Jeg sa at hvis skjemaet er postet så er alle feltene satt, men de kan være tomme.
sant... var det jeg sa også, at du hadde forklart det...
Men, det er ikke noen enklere løsning å liste opp mange felter?
Tenker du på med empty() da eller? Man kan jo alltid dra nytten av en foreach loop for eksempel. Den kan jo loope gjennom en assosiativ array (slik $_POST og $_GET er).
Tenkte på empty() ja.
riktig... har ikke satt meg inn i array's enda. Da jeg ikke har brukt det til noe enda... Men holder på å studere en del funksjoner inne på php.net nå.
Så kan studere litt rundt det og bruken av det... Vet at du har en video rundt emnet også, så får gå tilbake til den å studere litt... Det letteste for meg er å bruke det til noe så jeg for forståelse av funksjonaliteten i det...
Ser den, se på videoen om arrays og hvordan de kan være assosiative eller baserte på indekser. Få også med deg videoen om looping gjennom arrayer.
Arrays er ikke så komplisert i PHP, det er bare en serie med variabler av ulik eller lik datatype (string, integer, boolean, float).
Må si at å lese om de forskjellige funksjonene etc. ikke gir meg så mye før jeg har brukt det til ett eget formål. Først etter at jeg har benyttet det til "noe" så kan jeg gå tilbake å lese og få forståeslen av de.
Skal se på videoene dine igjen etterhver og se om jeg får en bedre forståelse der... Ble ikke så mye klokere av bruken med det første inne på php.net.
Men isteden for å skive:
$amp_brand = 'Vincent';
$amp_type = 'Mono';
$amp_effect = 150;
... så kan man heller bruke array noe slik:
$amp = array(
'brand' => 'Vincent',
'type' => 'Mono',
'effect' => 150);



Dette kommer jo litt ann på hva du har tenkt til å gjøre. Selv bruker jeg denne fremgangsmåten
<?phpif($_POST) {
// Skjema er postet
if(empty($_POST['foo'])) {
print '<p>foo er tom</p>';
}
} else {
print '<p>Post er ikke satt</p>';
}
?>
Hvis en post request er sendt, så er det unødvendig å sjekke om ett enkeltfelt er satt eller ikke, for når et skjema sendes så vil alle felter være satt uavhengig av om de inneholder verdier eller ei.
Dette er grunnen til at man gjerne bruker empty() for å se om et felt inneholder data eller ikke.
Usikker på om dette besvarer spørsmålet ditt.
Hjelper folk å lage hjemmeside