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:



Pure Pop Mini FM/DAB radio

Pure, som laver lydudstyr af høj kvalitet i en klasse for sig selv, har denne gang tilsendt os en FM/DAB radio
Læs Mere

ADATA XPG Z1 2400 MHz DDR4 16GB kit

Endnu et 16 GB DDR4 kit har fundet vejen til Tweak.dks testbænk, og i denne omgang er der tale om ADATAs XPG Z
Læs Mere

TP-LINK 7-Port USB3.0 hub

TP-LINK, som ellers normalt laver ting til kommunikation, kommer denne gang lidt ud over deres eget sortiment
Læs Mere

Rapoo E9090P Wireless Illuminated Keyboard

Denne gang har Rapoo sendt os et af deres trådløse tastaturer. Dette tastatur er helt sit eget, da det har bel
Læs Mere

ASRock X99E-ITX/ac

Står du og overvejer at bygge et mITX system, men er du på samme tid interesseret i et lille vilddyr med masse
Læs Mere

ASUS Sabertooth X99

Sabertooth serien kender de fleste af os som toppen af poppen i ASUS TUF serie af bundkort, og de har i denne
Læs Mere

ASUS Strix Tactic Pro Gaming Keyboard

Det er igen blevet tid til at anmelde et produkt fra ASUS' Strix serien, og denne gang er det et tastatur, der
Læs Mere

Antec VSP5000

Man behøver ikke kaste tonsvis af penge efter et kabinet for at få fede features og gode muligheder. Det er An
Læs Mere

Google undskylder for brølere i Google Maps

Internetgiganten Google har om nogen været noget i vælten den seneste tid. Det skyldes, at der har været indti
Læs Mere

Pas på! NemID svindlere igen på spil

Det danske mobilselskab Call me har netop bragt nyheden om, at der er NemID svindlere på vej, og det vil vi se
Læs Mere

MSI verdens første med Windows 10 certificering

Vi ved alle, at Windows 10 er på vej, og med det kommer også en udfordring for især bundkortproducenterne at f
Læs Mere

Delta fylder pre-flight video med memes og katte

Det amerikanske flyselskab Delta er igen på banen med en noget utraditionel pre-flight video. De har før gjort
Læs Mere

GIVEAWAY! Vind en tur i biffen med Tweak.dk!

Vi er super glade for jeres engagement på både Tweak.dk og begge vores Facebook grupper, hvilket naturligvis o
Læs Mere

Netflix hyrer BitTorrent-medarbejder

Hvis man ikke kan slå dem, må man tilslutte sig dem. Sådan kunne en overskrift for dagens nyhed være, for den
Læs Mere

NVIDIA lukker igen for overclocking

Igen er der historier om, at NVIDIA lukker for overclocking af din GPU. Hvis du sidder derude med en laptop, d
Læs Mere

Razer fremviser ny Firefly musemåtte med fuld RGB belysning

Vi har her på Tweak.dk anmeldt flere af produkterne i Razers Chroma-serie, herunder Kraken 7.1 Chroma headsett
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.