Kære gæst, velkommen til Tweak.dk. Hvis dette er dit første besøg her, bør du læse Hjælp. Her forklares i detaljer hvordan denne side fungerer. For at benytte alle funktionerne på denne side, bør du overveje at lade dig registrere. Benyt venligst registreringsformularen for at registrere her eller læs yderligere information om registreringsprocessen. Hvis du allerede er registreret, så log på her.

1

søndag, 19. november 2006, 22:41


Jah jeg har så det her problem med PHP.
Jeg har en form som skal sende data til sig selv, når man trykker på submit, selvfølgelig.
Det fungerer sådan set også meget godt, MEN, når jeg så sætter mit "validering" ind (det er jo nok der jeg fejler), stopper det hele skrivningen.
Valideringen (empty() funktionerne) skulle jo sådan set bare sørge for at der ikke bliver submittet tomme felter.

Jeg kommer så lidt i tvivl om hvad jeg gør helt forkert.
Er det mit empty() eller er det mit isset der burde være anderledes?

Anyway så er koden her:

Kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if ( isset ( $_POST['submit']) )
 {
   $hnavn =  $_POST['hnavn'];
   $hrace = $_POST['hrace'];
   $hgender = $_POST['hgender'];
   $hpass = $_POST['hpass'];
   $enavn = $_POST['enavn'];
   $eemail = $_POST['eemail'];
   $eby = $_POST['eby'];

   if (empty($hnavn) || empty($hrace) || empty($hpass) || empty($enavn) || empty($eemail) || empty($eby)) {
    die('Fejl: Udfyld venligst alle felter';
   }
}


2

søndag, 19. november 2006, 23:06


Burde du ikke lige afslutte parameterparantesen i die-funktionen?
die('Fejl: Udfyld venligst alle felter';

Det kan forresten også med fordel laves i javascript.. da der så slet ikke submittes.. men man bare får en alert i bøtten

Dette indlæg er blevet redigeret 1 gange, senest redigeret af "Karga" (19.11.2006, 23:07)


3

mandag, 20. november 2006, 06:12


Citeret

Originally posted by KarGa
Burde du ikke lige afslutte parameterparantesen i die-funktionen?
die('Fejl: Udfyld venligst alle felter';

Det kan forresten også med fordel laves i javascript.. da der så slet ikke submittes.. men man bare får en alert i bøtten


Faktisk også lige den eneste fejl jeg kan se altså den med die();
Du burde sådan set få en Fej, unexspected t-echo eller sådan noget omkring ;

Det kan godt laves med javascript men som jeg ser det vil jeg absolut ikke kalde det en fordel, kun en ekstra validering som kan være med til at spare brugeren for et side reload.
PHP valideringen er 100% nødvendig. Hvorfor?
Tjoeh fordi javascript jo kan slås fra, og spambotter mm. kører ikke med javascript, så tomme formularer vil kunne sendes afsted. Sidst men ikke mindst går jeg ud fra data skal smides i DB evt, og så er det jo vigtigt at datavaliditeten er verificeret


4

mandag, 20. november 2006, 07:41


Ja det var en typisk fhqwhgad fejl at glemme den parantes, men det var deværre ikke fejlen. Ihvertfald ikke den eneste fejl.
Den stopper stadig skrivningen og melder ingen fejl.

Og ja det skal i en database.


5

mandag, 20. november 2006, 08:11


Ikke sikker men prøv lige at rette følgende:

Kildekode

1
if ( isset ( $_POST['submit']) )


til

Citeret

if ( isset ( $_POST["submit"]) )


En helt anden ting prøv lige og post den første linie hvor du definere din form, den med method, action osv.

| asus maximus VI Hero | i7 4770K | 2 x 8gb G.skill | Asus GTX 750 Ti OC |
Common sense is creativities biggest enemy

6

mandag, 20. november 2006, 08:41


enkelt ' eller dobbelt " bør ikke gøre en forskel, tror måske også du har en fejl i din formular kode, smed lige følgende ind

PHP kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
if ( isset ( $_POST['submit']) )
 {
   $hnavn =  $_POST['hnavn'];
   $hrace $_POST['hrace'];
   $hgender $_POST['hgender'];
   $hpass $_POST['hpass'];
   $enavn $_POST['enavn'];
   $eemail $_POST['eemail'];
   $eby $_POST['eby'];
   if ((empty($hnavn) || empty($hrace) || empty($hpass) || empty($enavn) || empty($eemail) || empty($eby))) {
    die('Fejl: Udfyld venligst alle felter');
    
   } else {
       echo "<br>til db";
   }
}
?>
<form method="post" action="">
<input type="text" name="hnavn" />
<input type="text" name="hrace" />
<input type="text" name="hgender" />
<input type="text" name="hpass" />
<input type="text" name="enavn" />
<input type="text" name="eby" />
<input type="text" name="eemail" />
<br />
<input type="submit" name="submit" value="send" />
</form>


For at teste og der virker alting fint


7

mandag, 20. november 2006, 08:48


Citeret

Originally posted by WebT
enkelt ' eller dobbelt " bør ikke gøre en forskel, tror måske også du har en fejl i din formular kode, smed lige følgende ind

PHP kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
if ( isset ( $_POST['submit']) )
 {
   $hnavn =  $_POST['hnavn'];
   $hrace $_POST['hrace'];
   $hgender $_POST['hgender'];
   $hpass $_POST['hpass'];
   $enavn $_POST['enavn'];
   $eemail $_POST['eemail'];
   $eby $_POST['eby'];
   if ((empty($hnavn) || empty($hrace) || empty($hpass) || empty($enavn) || empty($eemail) || empty($eby))) {
    die('Fejl: Udfyld venligst alle felter');
    
   } else {
       echo "<br>til db";
   }
}
?>
<form method="post" action="">
<input type="text" name="hnavn" />
<input type="text" name="hrace" />
<input type="text" name="hgender" />
<input type="text" name="hpass" />
<input type="text" name="enavn" />
<input type="text" name="eby" />
<input type="text" name="eemail" />
<br />
<input type="submit" name="submit" value="send" />
</form>


For at teste og der virker alting fint


Jeg prøver lige når jeg kommer hjem.
Men er det ikke lidt mærkeligt at det går galt når jeg ændrer inde i if (isset()) blokken? Det er jo så snart siden loader, at det går galt, ikke efter der bliver trykket submit. Formen bliver slet ikke vist. Faktisk bliver intet vist, den stopper fuldstændig udskrivningen, og jeg får bare en blank fil.

Fjerner jeg mit empty() tjek, fungerer det fint.

Hm, kan se du har en ekstra parantes rundt om dit empty tjek, i forhold til mig. Kan det være det?


8

mandag, 20. november 2006, 09:06


Lyder meget underligt, især fordi jeg bare kopierede din kode ind uden at ændre noget (udover den die() selvfølgelig og satte lige en ekstra () uden om if delen, men det bør ikke gøre nogen forskel)

Hvis der ikke er noget "hemligt" i filerne kan du evt prøve at lave en .phps og uploade når du kommer hjem, så vi kan se hele kilden


9

mandag, 20. november 2006, 09:13


Citeret

Originally posted by WebT
Lyder meget underligt, især fordi jeg bare kopierede din kode ind uden at ændre noget (udover den die() selvfølgelig og satte lige en ekstra () uden om if delen, men det bør ikke gøre nogen forskel)

Hvis der ikke er noget "hemligt" i filerne kan du evt prøve at lave en .phps og uploade når du kommer hjem, så vi kan se hele kilden

Det vil jeg prøve når jeg kommer hjem.


10

mandag, 20. november 2006, 13:04


Nå lad os skynde os at glemme denne tråd.
Det viste sig selvfølgelig at jeg bare havde glemt en } :O


11

mandag, 20. november 2006, 13:26


Citeret

Originally posted by fhqwhgad
Nå lad os skynde os at glemme denne tråd.
Det viste sig selvfølgelig at jeg bare havde glemt en } :O


Hvilken tråd? Jeg kan ikke se nogen tråd :$ :crazyeyes:



ASUS Strix R9 380 DirectCU II 2 GB

Endnu et grafikkort i Radeon R9 300-serien er landet på Tweak.dk redaktionen, og denne gang skal vi kaste blik
Læs Mere

MSI GTX 980 Ti Gaming 6G

Så blev det Tweak.dks tur til at have NVIDIA GeForce GTX 980 Ti på testbænken, og i dagens test har MSI været
Læs Mere

LG G4 smartphone med 5,5 tommer IPS Quad HD skærm

Det er ingen hemmelighed, at vi her på Tweak.dk har set frem til at få LG's nye topmodel til test. Vi har jo s
Læs Mere

Antec Performance P50 Window

Så er Antec tilbage hos os på Tweak.dk. Denne gang er det med et nyt kabinet fra deres Performance serie ved n
Læs Mere

Betasphere HR 986 BigBox Black

betasphere audio, en forholdsvis ukendt producent, har sendt os et af deres produkter til anmeldelse. Der er t
Læs Mere

MSI Radeon R9 390X Gaming 8G

Mens vi venter spændt på at se Radeon R9 Fury og Nano på Tweak.dk redaktionen, kan vi nu stolt præsentere jer
Læs Mere

Driveclub - PlayStation 4

Vi går nu i en lidt anden retning, end vi er vant til her på Tweak.dk - og så alligevel ikke. Vi har nemlig va
Læs Mere

Scythe Ninja 4 CPU køler

Den japanske kølerproducent Scythe er kendt for, at lave nogle gode store kølere til luft. Det er også en luft
Læs Mere

Tweak.dk unboxer tre ASUS Strix Radeon 300-series grafikkort

Så blev det Tweak.dks tur til at modtage ASUS Strix grafikkort fra Radeon 300-serien til test, og derfor skal
Læs Mere

Koola viser, hvad Unreal Engine 4 kan

Storbrugeren af Unreal Engines forum, Koola, har endnu engang vist os screenshots og et stykke video, der vise
Læs Mere

Det er officielt! EU bliver roamingfri i 2017

I nat blev det afgjort, at hele EU skal gøres roamingfrit inden juli 2017. Altså kan vi se frem til, at det bl
Læs Mere

GIVEAWAY! Vind med Alphacool, Aquatuning og Tweak.dk!

Temperaturen siges at ramme de 30 grader i næste uge, og så sveder vores computere næsten lige så meget, som v
Læs Mere

Ekstremt hukommelseskort fra SanDisk ser dagens lys

Da SanDisk i sin tid præsenterede hukommelseskortet Ultra microSDXC UHS-I Premium Edition, der har en kapacite
Læs Mere

Computerspil får gamere til at tabe sig

Har du en smule for meget på sidebenene, men er det samtidig sjovere at sidde foran skærmen end at slæbe din b
Læs Mere

AMD på Microsoft-hænder?

AMD er åbenbart et utroligt spændende og eftertragtet firma at være ejer af, for der går næsten ikke en uge, f
Læs Mere

Mystisk #BaldursGate nedtælling dukket op på nettet

Der er dukket en mystisk nedtællingstimer op på nettet, der i skrivende stund har ca. 10 dage tilbage. Nedtæll
Læs Mere
Nyeste Videoer og Trailers

Indsend nyhed
Har du fundet en fed nyhed så indsend den så alle andre på Tweak.dk kan få glæde af den.