Avatar billede zchou Nybegynder
30. november 2003 - 17:14 Der er 35 kommentarer og
1 løsning

include fra form

Hey,

jeg sidder med et problem som jeg umiddelbart ikke kan løse. Det virker ellers lige til.

I en form (list/menu) har jeg årets 12 måneder listet op.

Hvis januar vælges skal januar.php inkuderes osv.

Jeg har selv prøvet følgende:

$maaned = $_REQUEST["maaned"];

if($maaned = januar){
include("januar.php");
}
if($maaned = februar){
include("februar.php");
}

osv.

Når jeg prøver dette blive både januar.php og februar.php inkluderet selvom der ikke er valgt noget i min form.

Håber i forstår hva jeg mener.

Nogen der kan hjælpe?


På forhånd tak

/Zchou
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:17 #1
if($maaned == januar){
include("januar.php");
}
if($maaned == februar){
include("februar.php");
}

husk == ved sammenligning ;)
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:18 #2
fordi du skal bruge 2 ='tegn.. altså $maaned ==
og så skal du have teksten ind i et par pinger.. Så den ved det er tekst.. Altså 'januar'
og når du har et tjek på det samme, kan du med fordel bruge else if.. ALtså
if {
  // handling
} elseif {
  // Anden handling
}

Så den kommer itl at se således ud:

if($maaned == 'januar') {
    include('januar.php');
} elseif($maaned == 'februar') {
    include('februar.php');
}
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:18 #3
supreme-creme -> Husk pinger om tekst-strenge ;)
Avatar billede zchou Nybegynder
30. november 2003 - 17:19 #4
Det har jeg også prøvet.. men så sker der ingenting overhovedet..
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:19 #5
men hvorfor ikke bare lave sådanne:

if($_POST[maaned]) {
include($_POST[maaned]);
}


Det er da nemmere :P
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:19 #6
Ja glemmer altid tegnreglerne :P
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:20 #7
supreme-creme -> Sådan må du ALDRIG gøre!! Hvad nu når jeg i går op i adresselinien og retter din variabel til 'config' ??
eller en adresse på min egen server?!
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:21 #8
sæt det hellere på som jeg har beskrevet det 30/11-2003 17:18:35

/Nicklas B.
Avatar billede zchou Nybegynder
30. november 2003 - 17:23 #9
Nicklas B: Når jeg bruger din metode, sker der ingenting. Den inkluderer ikke noget!?
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:23 #10
jamen det er jo derfor jeg gør sådanne:
if($_POST[maaned]) {
Så henter den jo kun hvad der er postet og ikke hvad der står i Query stringen. Det kan jeg jo hente med $_GET[]

;)
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:24 #11
prøv lige at lave en
echo $maaned;

Så ser vi jo om der overhovedet er noget i variablen :P
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:25 #12
hvis variablen $maaned indeholder en af de to navne sker der noget..
prøv engang at skrive $maaned ud med en

echo $maaned;

zchou -> Og? Så poster jeg da bare strengen gennem din form i stedet?!
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:25 #13
hov.. sidste kommentar til supreme-creme
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:26 #14
Kan man vel ikke hvis formen kun er en rullemenu ??
Avatar billede zchou Nybegynder
30. november 2003 - 17:27 #15
Supreme-creme: Der er noget i variablen.. Problemet var til at starte med jo at den inkluderede både jan. og febr.
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:27 #16
tjek nu bare aligevel..! ;)
Du kan måske ikke.. Men andre kan.. Og ja, det er let nok..
Tjek ALTID dit input.. Du kan ikke stole på NOGLE, overhovedet!
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:28 #17
zchou -> Prøv at sætte det efter mit script som jeg beskrev det 17:25:22
Avatar billede zchou Nybegynder
30. november 2003 - 17:29 #18
hmm.. ja og dog.. Den udskriver faktisk ingenting?
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:29 #19
Ja self. Men  min måde er jo meget mere resourcekrævende men jeg bruger da også altdi den metode at jeg tjekker alt.. :)
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:30 #20
skriv lige din <form>
Avatar billede nicklasb Nybegynder
30. november 2003 - 17:31 #21
resourcekrævende? Vås.. Det sløver INTET.. og selvfølgelig må du da tage dig den kraft der er nødvendig!! Ellers skal du sku skifte webhotel..
og hvis du altid til selv gør det, hvorfor så lære andre noget HELT forkert?

zchou -> Så er det nok fordi variablen ingen ting indeholder, skal du se.. ;)

Har du husket din $maaned = $_REQUEST["maaned"]; ??
Avatar billede zchou Nybegynder
30. november 2003 - 17:32 #22
<form name="maaned" method="post" action="" >
<select name="select">
<option>Januar</option>
<option>Februar</option>
<option>Marts</option>
<option>April</option>
<option>Maj</option>
<option>Juni</option>
<option>Juli</option>
<option>August</option>
<option>September</option>
<option>Oktober</option>
<option>November</option>
<option>December</option>
</select>
<input type="submit" name="Submit" value="Ok">
                     
</form>
Avatar billede schaefner Juniormester
30. november 2003 - 17:32 #23
Der er forskel på store og små bogstaver.
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:33 #24
Ja ok :P

Men i meget store projekter kan den smule resource det nu kræver jo alligevel have en ret stor betydning ;)
Avatar billede zchou Nybegynder
30. november 2003 - 17:33 #25
nicklas: ja det er det jo nok:-) men jeg har altså husket: $maaned = $_REQUEST["maaned"];
Avatar billede schaefner Juniormester
30. november 2003 - 17:34 #26
<select name="maaned">
Avatar billede zchou Nybegynder
30. november 2003 - 17:36 #27
Schaefner: hehe.. Der lå fejlen. Hold helt kæft det er skidt arbejde af mig:) Det er jeg ked.
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:36 #28
Ja og så husk at kald din form noget andet :P
Avatar billede schaefner Juniormester
30. november 2003 - 17:37 #29
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="send" value="1">

<select name="maaned">
<option>Januar</option>
<option>Februar</option>
<option>Marts</option>
<option>April</option>
<option>Maj</option>
<option>Juni</option>
<option>Juli</option>
<option>August</option>
<option>September</option>
<option>Oktober</option>
<option>November</option>
<option>December</option>
</select>

<input type="submit" value="Send">
</form>

<?php
if (isset($_POST['send'])) {
    $input_check = array('Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December');

    if (in_array($_POST['maaned'],$input_check) {
        include($_POST['maaned'].'.php');
    }
}
?>
Avatar billede schaefner Juniormester
30. november 2003 - 17:38 #30
eventuelt:

include(strtolower($_POST['maaned']).'.php');
Avatar billede RJFreelance Praktikant
30. november 2003 - 17:38 #31
Ja det er nok den mest korrekte måde at gøre det på ;)
Avatar billede zchou Nybegynder
30. november 2003 - 17:42 #32
Schaefner: Får fejl her:   

if (in_array($_POST['maaned'],$input_check) {

unexpected '{'
Avatar billede schaefner Juniormester
30. november 2003 - 17:43 #33
if (in_array($_POST['maaned'],$input_check)) {
Avatar billede zchou Nybegynder
30. november 2003 - 17:46 #34
Mange tak for det. Det er jo helt perfekt:o)

Jeg vil gerne sætte point-tallet lidt op så Schaefner kan få for svaret og i andre kan få lidt for "svie og smerte". Er sgu lidt flov over at lave sådan en fejl.
Avatar billede schaefner Juniormester
30. november 2003 - 17:46 #35
svar
Avatar billede zchou Nybegynder
30. november 2003 - 17:56 #36
Nicklas og supreme:
Der er point til jer her:

http://www.eksperten.dk/spm/434260

Schaefner: mange tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester