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:



Thermaltake Core X9 Snow Edition kabinet

Så er det Goliath-tid, forstået på den måde, at vi har modtaget en sand mastodont af et cubekabinet fra Therma
Læs Mere

Raumfeld Stereo Cubes

For anden gang i Tweak.dk's historie skal vi have et sæt Raumfeld højttalere, der går under navnet Stereo Cube
Læs Mere

Reeven EUROS 120 mm Fan Round-Up

Reeven er en forholdsvis ny producent på markedet. De startede i 2009 og satser på at lave det bedste inden fo
Læs Mere

AMD A8-7600 APU

Så er AMD's seneste A8 APU endt på Tweak.dk redaktionen, og vi vil derfor stolt præsentere jer for vores test
Læs Mere

LC-Power Gaming 930W Kabinet

LC-Power har tilsendt os på Tweak.dk et af deres nye kabinetter i deres Gaming-serie. Dette hvide miditower ka
Læs Mere

Antec ISK310-150 micro tower

Står du og skal til at bygge dig en lille kontorcomputer, eller måske skal der et nyt kabinet til computeren v
Læs Mere

Thermaltake Commander FT Fan Controller

Hvis man har installeret et vildt custom vandloop i sin computer, kan det være ganske nyttigt at være i stand
Læs Mere

Logitech MX Master

Vi skal i denne test tage et kig på Logitechs nye flagskib af en mus ved navn MX Master. Der er tale om en mus
Læs Mere

Ny teknologi bruger kroppen som datamedie

Hvis du gik og troede, at det var smart, når din smartphone og dit smartwatch kommunikerede via Bluetooth, så
Læs Mere

PowerColor på vej med vanvittigt R9 390 X2 grafikkort

Hvis du simpelthen ikke kan få nok grafikpower, så er det værd at læse med her. PowerColor har nemlig præsente
Læs Mere

Ultimate Windows Tweaker til Windows 10 er ude!

Windows 10 har nu været på gaden i et stykke tid, og flere brugere har været meget bekymret over det nye syste
Læs Mere

Nyt ASUS ROG Poseidon Platinum GTX 980 Ti grafikkort på vej

Der er ingen tvivl om, at ASUS ved, hvad de har gang i, når talen falder på grafikkort. Det har vi set flere g
Læs Mere

Lenovo lancerer en serie af Gaming periferaler

Lenovo har bestemt sig for at bevæge sig ind på et andet marked end blot computere, og derfor har de producere
Læs Mere

ASUS VivoStick er en Windows 10 PC i mikrostørrelse

Nok skriver vi meget om små minikabinetter med mini-ITX bundkort, men sammenlignet med ASUS' nye VivoStick, så
Læs Mere

September måned byder på nye Nexus-telefoner

Næste gang, der kommer en ny Nexus telefon, får den sig en følgesvend, da der i denne omgang skulle komme både
Læs Mere

Acer præsenterer to nye Predator gamingskærme

Nok kan du have en vild internetforbindelse og ekstrem hardware, men du kommer ikke langt uden en skærm, og sk
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.