Errae Skrevet 29. november 2008 Skrevet 29. november 2008 Hei. Jeg sliter litt med å få til en if-kode. Første IF: Sjekke om alle variablene på index.php er fyllt ut. hvis ikke gi beskjed om dette. Andre IF: Hvis $fnavntilstede leverer tallet 1, så skal det kun postes verdiene. Trede IF: Hvis $fnavntilstede leverer tallet 0, (noe som betyr at navnet ikke finnes fra før i databasen), så skrives det til databasen. Koden for å finne ut om navnet allerede finnes i databasen stemmer. Den returnerer riktig. Allikavell skrives ingenting til databasen. Noen som kan hjelpe meg? Spør meg gjerne om noe er uklart. Tusen takk!!! <? $conn=mysql_connect("localhost","brukernavn","passord"); mysql_select_db("sommerleir",$conn); $res=mysql_query("SELECT * FROM kontakt WHERE fnavn LIKE '$fnavn'",$conn); mysql_close($conn); $fnavntilstede=mysql_num_rows($res); if ($fnavn == "" or $adresse == "" or $postnr == "" or $poststed == "" or $tlfmor == "" or $epost == ""){ echo "Du må fylle ut hele skjemaet.";} elseif ($fnavntilstede=1){ $kk=$_POST['klubb']; $fnavn=$_POST['fnavn']; $fadresse=$_POST['adresse']; $fpostnr=$_POST['postnr']; $fpoststed=$_POST['poststed']; $fepost=$_POST['epost']; $ftlfmor=$_POST['tlfmor']; $ftlffar=$_POST['tlffar'];} elseif ($fnavntilstede=0){ $kk=$_POST['klubb']; $fnavn=$_POST['fnavn']; $fadresse=$_POST['adresse']; $fpostnr=$_POST['postnr']; $fpoststed=$_POST['poststed']; $fepost=$_POST['epost']; $ftlfmor=$_POST['tlfmor']; $ftlffar=$_POST['tlffar']; $conn=mysql_connect("localhost","brukernavn","passord"); mysql_select_db("sommerleir",$conn); $res=mysql_query("INSERT INTO kontakt VALUES(NULL,'$kk','$fnavn','$fadresse','$fpostnr','$fpoststed','$fepost','$ftlfmor','$ftlffar',NULL)"); mysql_close($conn);} ?>
kjartana Skrevet 29. november 2008 Skrevet 29. november 2008 (endret) Skal du ikke ha to = i søkeuttrykket i ELSEIF-delen? Kan $fnavntilstede kun være 0 eller 1? Endret 29. november 2008 av kjartana
Rinox Skrevet 30. november 2008 Skrevet 30. november 2008 I if-uttrykket ditt skriver du fnavntilstede=1. Det du gjør er der ikke å sjekke om variabelen er 1, men å tilegne variabelen verdien 1. Lykke til
blackbrrd Skrevet 30. november 2008 Skrevet 30. november 2008 Bra svart Rinox. Kan nevne at i f.eks Java så ville kompilatoren sagt ifra at du prøvde å assigne en variabel inne i if-setningen.
Errae Skrevet 1. desember 2008 Forfatter Skrevet 1. desember 2008 (endret) Her er siste versjon, med noen endringer: <? $conn=mysql_connect("localhost","root",""); mysql_select_db("sommerleir",$conn); $res=mysql_query("SELECT * FROM kontakt WHERE epost LIKE '$epost'",$conn); mysql_close($conn); $eposttilstede=mysql_num_rows($res); echo $eposttilstede; ?> <? if ($fnavn == "" or $adresse == "" or $postnr == "" or $poststed == "" or $tlfmor == "" or $epost == ""){ echo "Du må fylle ut hele skjemaet.";} elseif ($eposttilstede == 0){ $kk=$_POST['klubb']; $fnavn=$_POST['fnavn']; $fadresse=$_POST['adresse']; $fpostnr=$_POST['postnr']; $fpoststed=$_POST['poststed']; $fepost=$_POST['epost']; $ftlfmor=$_POST['tlfmor']; $ftlffar=$_POST['tlffar'];} elseif ($eposttilstede == 1){ $kk=$_POST['klubb']; $fnavn=$_POST['fnavn']; $fadresse=$_POST['adresse']; $fpostnr=$_POST['postnr']; $fpoststed=$_POST['poststed']; $fepost=$_POST['epost']; $ftlfmor=$_POST['tlfmor']; $ftlffar=$_POST['tlffar']; $conn=mysql_connect("localhost","root",""); mysql_select_db("sommerleir",$conn); $res=mysql_query("INSERT INTO kontakt VALUES(NULL,'$kk','$fnavn','$fadresse','$fpostnr','$fpoststed','$fepost','$ftlfmor','$ftlffar',NULL)"); mysql_close($conn);} else{ echo $eposttilstede; ?> Har endret det til epost istedenfor navn, men det fungerer ikke om eposttilstede er 0 eller 1. men om eposttilstede er 2 så vises siden. Hvis jeg setter if-setning 2 til => 0 så fungerer det ikke i hele tatt. Endret 1. desember 2008 av Errae
Rinox Skrevet 1. desember 2008 Skrevet 1. desember 2008 Får du noen feilmeldinger, eller blir siden bare blank? Mistenker at det har noe med måten variabelen $eposttilstede blir definert... Og, bare litt ekstra pirk: Det er mye mer praktisk å bruke !isset($variabel) enn $variabel == "". Prøv det
___ Skrevet 1. desember 2008 Skrevet 1. desember 2008 Det finnes et eget PHP forum for denne typen spørsmål! Dette forumet holder på å drukne i PHP-relaterte problemstillinger, og så lenge det finnes et mer egnet forum for slike ting tillater jeg meg å påpeke dette. Finnes det ikke en moderator i dette forumet? Werner
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå