Avatar billede human Nybegynder
04. august 2004 - 19:22 Der er 12 kommentarer og
1 løsning

if-sætning opfører sig ikke rigitg

Okay:
<form action="gb.php" method="post">
Navn:<br />
<input type="text" name="name"><br />
Hjemmeside:<br />
<input type="text" name="hp"><br />
Email:<br />
<input type="text" name="email"><br />
<textarea cols="20" rows="10" name="comm"></textarea><br /><br />
<input type="submit" name="submit" value="Post">
</form><br />
<?php
if(isset($_POST['submit'])){
if(isset($_POST['name']) && ($_POST['email']) && ($_POST['comm'])){

$insert = ("INSERT INTO gb(tid,ip,name,hp,email,comm)
          VALUES(NOW(),'$_SERVER[REMOTE_ADDR]','".$_POST['name']."','".$_POST['hp']."','".$_POST['email']."','".$_POST['comm']."')");
          $result = mysql_query($insert) or die(mysql_error());

}else{
        print "Felterne Navn, Email og Besked skal udfyldes.";
}
}

Udfylder jeg email og comm, bliver det smidt i databasen, det er ikke meningen.
Men udfylder jeg email og name, gør det ikke.
DEt er meningen name,email og comm skal udfyldes.

Så hvorfor kommer den ikke med fejl hvis jeg udfylder email og comm?
Avatar billede intenz Novice
04. august 2004 - 19:57 #1
et alternativ kunne være at bruge:
if($_POST['name'] != "") && $_POST['email'] != "" && ($_POST['comm'] != ""){
Avatar billede intenz Novice
04. august 2004 - 19:57 #2
Det skulle selvfølgelig have været:

if($_POST['name'] != "" && $_POST['email'] != "" && ($_POST['comm'] != ""){
Avatar billede human Nybegynder
04. august 2004 - 19:59 #3
Ja.. Men vil vide hvorfor overstående ikke gør som det skal.
Avatar billede acid-head Nybegynder
04. august 2004 - 20:02 #4
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['comm'])){

prøv med det
Avatar billede mat Nybegynder
04. august 2004 - 20:02 #5
Jammen hvad gør du med ($_POST['email']) (og "comm")? Det står der jo bare...vil du ikke tjekke om alle er sat, så skal du vel bruge isset() på alle dine betingelser?
Avatar billede mat Nybegynder
04. august 2004 - 20:03 #6
..what he said
Avatar billede hmortensen Nybegynder
04. august 2004 - 20:14 #7
http://dk2.php.net/isset

if(isset($_POST['name'], $_POST['email'], $_POST['comm'])){
Avatar billede human Nybegynder
04. august 2004 - 20:49 #8
acid-head: Troede bare selv den kunne regne ud det skulle være på det hele, når det nu var det if'en startede med.. MEn not..

Men det virker så ikke.. Nu smider den det hele i, ligemeget om felterne er udfyldte eller ej
Avatar billede human Nybegynder
04. august 2004 - 20:50 #9
sammen resultat med if(isset($_POST['name'], $_POST['email'], $_POST['comm'])){
Avatar billede hmortensen Nybegynder
04. august 2004 - 20:56 #10
if ((isset($_POST['name'], $_POST['email'], $_POST['comm'])) AND ($_POST['name'] != "") AND ($_POST['email'] != "") AND ($_POST['comm'] != "")) {
Avatar billede human Nybegynder
04. august 2004 - 21:10 #11
hindu_skp: Så var den der. Smid svar..
Avatar billede human Nybegynder
04. august 2004 - 21:11 #12
Men hvorfor skal der så meget til?
Avatar billede hmortensen Nybegynder
05. august 2004 - 06:10 #13
Fordi at isset kun tester om variablen er sat, altså at formen er blevet submittet
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester