09. april 2002 - 14:18Der er
14 kommentarer og 1 løsning
Hvordan undgår jeg det?
Jeg har en side hvor man kan udfylde nogle felter. Når man trykker ok går den til siden tilfoej.php som indsætter disse oplysninger i databsen. Problemet er bare at hvis man går direkte ind på tilfoej.php, så indsætter den jo tomme oplysninger i databsen. Hvordan undgår jeg at man kan tilføje tomme felter i databsen. Man skal kunne gå ind på siden indsaet.php og den bruger så action="tilfoej.php", men man skal ikke bare kunne gå ind på tilfoej.php. Håber alle er med ;-)
sæt requirements på tabellerne der kræver at de ikke er tomme...og på formular siden, lav så man *skal* udfylde visse felter for at man kan kome til sidne der indsætter det...
Du kan også lave en session...sessionen bliver så lavet på firmular siden, og på tilfoej checker den om man har den session, hvis ja, får man lov at komme længere ned i dokumentet (ned til indsæt til db koden)
På siden indsaet.php er alle felterne. Fx. navn, email, alder. indsaet.php bruger så action="tilfoej.php". tilfoej.php indsætter de oplysninger som man skrev i felterne på siden indsaet.php. Problemet er at hvis folk går direkte ind på siden tilfoej.php uden overhovedet at have været inde på indsaet.php så vil tilfoej.php bare indsætte tomme felter. Hvordan undgås det?
du kan jo bare kalde din knap i din form et navn... <input type=submit name=go ...> og så i tilfoj.php skrive if ($go) { indsæt } else { echo "Du har ikke tilføjet noget..."; }
Lav denne i din FORM: <input type="hidden" name="action" value="tilfoj">
Lav så denne på tilfoej.php:
if ($action == "tilfoj") {
// Her skal du indsætte den kode som du bruger til at tilføje oplysningerne til databasen med!
} else { echo "Du har ikke indtastet nogle oplysninger"; }
Er det svar nok, og forstår du?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.