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:



SafeHome Wireless Surveillance Fixed HD kamera

Vi hopper for en kort stund tilbage i bunken af forbrugerelektronik, når vi i dag skal kigge på noget, der kan
Læs Mere

AeroCool GT-RS

Vi skal i denne test stifte bekendtskab med et kube kabinet fra producenten AeroCool - nærmere betegnet deres
Læs Mere

Antec ISK110 VESA micro kabinet

Er du også en af dem, der godt kan lide at bygge små computere og være med på den nyeste trend? Så kan dagens
Læs Mere

ASUSTOR AS-5004T

Endnu en ASUSTOR NAS server har fundet vej til Tweak.dk redaktionen, og vi skal i denne omgang have et kig på
Læs Mere

Argon Audio Stream 2

I en tid med DAB-radioer og trådløs streaming af musik kan vi alle få brug for udstyret, der kan koble vores m
Læs Mere

ZyXEL Armor Z1 AC2350 Dual-Band Wireless Gigabit

I en tid, hvor meget handler om grafikkort, mens vi så småt venter på lanceringen af Intels næste chipsetserie
Læs Mere

ASUS ROG Orion Stereo Gaming Headset

Der findes et væld af headsets, og der er et headset til ethvert formål. Hvis du skal have et simpelt, men sta
Læs Mere

XFX Radeon R9 390X 8 GB Double Dissipation

Vi så for nyligt Radeon R9 380 4 GB fra XFX her på siden, og nu kan vi altså også præsentere jer for en af de
Læs Mere

Konkurrence: Vind med Tweak.dk og Razer

Så blev vi færdige med Silverstone konkurrencen, og derved er vi nu klar til at sætte gang i endnu en konkurre
Læs Mere

Playstation 4 får mus og tastatur

I kølvandet på annonceringen af keyboard og mus support til Xbox One for et par uger siden, kommer Hori nu med
Læs Mere

Qualcomm løser varmeproblemer med Snapdragon 820

Qualcomms mobile processor Snapdragon 810 har været meget i vælten for at være en endog meget varm chip. Nu er
Læs Mere

Nyt X99M-WS micro-ATX bundkort fra ASUS

Tilbage på Computex-messen i juni præsenterede ASUS dette nye bundkort, som altså nu er klar til salg. Der er
Læs Mere

HORNET er Tor-netværket på speed

Hvis man vil være anonym i sin færden på nettet, findes der mange løsninger, man kan bruge. Man kan enten ansk
Læs Mere

Her er den nye OnePlus 2

OnePlus' nye 2016 Flagship Killer er nu en realitet. Den helt nye OnePlus 2 nemlig nu blevet præsenteret, og j
Læs Mere

Rygte: Valve arbejder på Half-Life 3

Ja, så kører rygtemøllen igen, og igen handler det om spilstudiet Valves myte- og sagnomspundne spil Half-Life
Læs Mere

He's back! The Terminator er med i WWE 2K16

Arnold Schwarzenegger er tilbage! Eller, det vil sige, at hans virtuelle alter ego er tilbage, og det er han s
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.