Avatar billede pitufo Nybegynder
28. juli 2003 - 10:24 Der er 10 kommentarer og
1 løsning

indsættelse af variabel efter validering

//Laver maaned rullemenu

echo "<select name=maaned>";
echo "<option selected>$maaned</option>";

$query1 = "SELECT DISTINCT maaned_id, maaned FROM maaned ORDER BY maaned_id";
$result1 = mysql_query($query1) or die("Query failed");

echo "<select name=maaned >";

while($ares1=mysql_fetch_array($result1))

{
    echo "<option value=$ares1[0]>$ares1[1]</option>";

    if($maaned==$ares1[1]) echo " selected ";
    echo " name=maaned>$ares1[1]</option>";
}

echo "</select>";

------------

Her over er en del af et script som viser måned med almindelig bogstaver (januar, december osv.....). efter brugeren har valgt måned og trykket på "send" længere nede på siden valideres hele siden og hvis brugeren har glemt en indtastning i et af de andre punkter geninslæses siden dog beholdes de værdier der allerede er indtastet.

Her kommer mit problem:

Når siden geninslæses er det ikke navnet på måneden der bliver vist men derimod måned_id, som er lig med månedens nummmer, dette er jeg helt klar over men jeg vil gerne have vist måneden i bogstaver men have sendt måned_id videre som en variabel til næste side.

Hvordan løser jeg det?

Jeg er ikke sikker på at det er godt nok forklaret, hvis ikke skriv bare!

/Pitufo
Avatar billede sostack Nybegynder
28. juli 2003 - 11:05 #1
Lidt svært uden at se hele scriptet!

//sostack
Avatar billede pitufo Nybegynder
28. juli 2003 - 11:16 #2
<form action="<? echo $PHP_SELF; ?>" method="post">
<?php
  if ($submit) {
    if(!$overskrift)
        $errorArray[0] = "Ingen overskrift er indtastet!";
    if (!$lokalenr)
        $errorArray[1] = "Intet lokalenummer er indtastet!";
    if (!$starttime)
        $errorArray[2] = "Ingen starttime er indtastet!";
    if (!$startminut)
        $errorArray[3] = "Intet startminut er indtastet!";
    if (!$sluttime)
        $errorArray[4] = "Ingen sluttime er indtastet!";
    if (!$slutminut)
        $errorArray[5] = "Intet slutminut er indtastet!";
    if (!$ansvarlig)
        $errorArray[6] = "Ingen ansvarlig er indtastet!";
    if(!$dag)
        $errorArray[7] = "Ingen dag er valgt!";
    if (!$dato)
        $errorArray[8] = "Ingen dato er valgt!";
    if (!$maaned)
        $errorArray[9] = "Ingen måned er valgt!";
    if (!$campus)
        $errorArray[10] = "Ingen campus er valgt!";
    if(count($errorArray) < 1)
        die("<script>document.location.href='add_arrangement_write.php?overskrift=$overskrift&dag=$dag&dato=$dato&maaned=$maaned&aar=$aar&campus=$campus&lokalenavn=$lokalenavn&lokalenr=$lokalenr&starttime=$starttime&startminut=$startminut&sluttime=$sluttime&slutminut=$slutminut&beskrivelse=$beskrivelse&ansvarlig=$ansvarlig'</script>");
}
php?>


<br>Arrangementsoverskrift:
<BR>
<input type=text size=60 name=overskrift value="<? echo $overskrift; ?>">&nbsp;&nbsp;(Max. 50 tegn)<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[0]; ?></font>
<BR>
<br>
<?php

$link = mysql_connect("***", "***", "***");
// or die("Could not connect");
// print "Connected successfully";
mysql_select_db("***",$link) or die("Could not select database");

echo "Dato for arrangement:&nbsp;<select name=dag >";

echo "Fra:&nbsp;<select name=dag>";
echo "<option selected>$dag</option>";

$query4 = "SELECT DISTINCT dag_id, dag FROM dag ORDER BY dag_id ASC";
$result4 = mysql_query($query4) or die("Query failed");

while($ares4=mysql_fetch_array($result4))

{
    echo "<option value=$ares4[1] name=dag>$ares4[1]</option>";

    if($dag==$ares4[1]) echo " selected ";
    echo " name=dag>$ares4[1]</option>";
}

echo "</select>";

//Laver dato rullemenu

echo "<select name=dato>";
echo "<option selected>$dato</option>";

echo;
$query3 = "SELECT DISTINCT dato_id, dato FROM dato ORDER BY dato ASC";
$result3 = mysql_query($query3) or die("Query failed");

while($ares3=mysql_fetch_array($result3))

{
    echo "<option value=$ares3[1] name=dato>$ares3[1]</option>";

    if($dato==$ares3[1]) echo " selected ";
    echo " name=dato>$ares3[1]</option>";
}


echo "</select>";

//Laver maaned rullemenu

echo "<select name=maaned>";
echo "<option selected>$maaned</option>";

$query1 = "SELECT DISTINCT maaned_id, maaned FROM maaned ORDER BY maaned_id";
$result1 = mysql_query($query1) or die("Query failed");

echo "<select name=maaned >";

while($ares1=mysql_fetch_array($result1))

{
    echo "<option value=$ares1[0]>$ares1[1]</option>";

    if($maaned==$ares1[1]) echo " selected ";
    echo " name=maaned>$ares1[1]</option>";
}

echo "</select>";

//Laver aar rullemenu

echo "<select name=aar >";

$min_aar = date("Y");
$max_aar = date("Y")+5;
for($a = $min_aar; $a < $max_aar; $a++) {
echo"<option name=aar value=$a>". $a ."</option>\n";
}
?></select>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[7]; ?></font>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[8]; ?></font>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[9]; ?></font>

<BR>
<BR>
Sted for arrangementet:
<BR>
<?php
//Laver lokation rullemenu

echo "<select name=campus>";
echo "<option selected>$campus</option>";

$query = "SELECT DISTINCT campus_id, campusnavn FROM campus GROUP BY campusnavn ORDER BY campusnavn ASC";
$result = mysql_query($query) or die("Query failed");

echo "Campus: <select name=campus >";

while($ares=mysql_fetch_array($result))

{
    echo "<option value=$ares[1] name=campus>$ares[1]</option>";

    if($campus==$ares[1]) echo " selected ";
    echo " name=campus>$ares[1]</option>";
}

echo "</select>";
php?>
Lokalenavn:<input type=text size=25 name=lokalenavn>(f.eks Auditorium)
Lokalenummer:<input type=text size=10 name=lokalenr value="<? echo $lokalenr; ?>">(f.eks 1.63)<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[10]; ?>&nbsp;&nbsp;<? echo $errorArray[1]; ?></font>
<BR>
<BR>
Tidspunkt for arrangement:
<?php
//Laver starttime rullemenu

$query = "SELECT DISTINCT time FROM time";
$result = mysql_query($query) or die("Query failed");

echo "<br>";
echo "<br>";
echo "Fra:&nbsp;<select name=starttime >";
echo "<option selected>$starttime</option>";

while($ares=mysql_fetch_array($result))
{
    echo "<option name=starttime value=$ares[0]>$ares[0]</option>";


    if($starttime==$ares1[0]) echo " selected ";
    echo " name=starttime>$ares[0]</option>";
}

echo "&nbsp;</select>";
echo "&nbsp;:";
//Laver startminut rullemenu

$query = "SELECT DISTINCT minut FROM minutter";
$result = mysql_query($query) or die("Query failed");

echo "&nbsp;&nbsp;<select name=startminut >";
echo "<option selected>$startminut</option>";

while($ares=mysql_fetch_array($result))
{
    echo "<option name=startminut value=$ares[0]>$ares[0]</option>";


    if($starttime==$ares1[0]) echo " selected ";
    echo " name=startminut>$ares1[0]</option>";
}

echo "</select>";

//Laver sluttime rullemenu

$query = "SELECT DISTINCT time FROM time";
$result = mysql_query($query) or die("Query failed");

echo "&nbsp;&nbsp;til:&nbsp;<select name=sluttime >";
echo "<option selected>$sluttime</option>";

while($ares=mysql_fetch_array($result))
{
    echo "<option name=sluttime value=$ares[0]>$ares[0]</option>";


    if($sluttime==$ares1[0]) echo " selected ";
    echo " name=sluttime>$ares1[0]</option>";
}


echo "&nbsp;</select>";
echo "&nbsp;:";
//Laver slutminut rullemenu

$query = "SELECT DISTINCT minut FROM minutter";
$result = mysql_query($query) or die("Query failed");

echo "&nbsp;&nbsp;<select name=slutminut >";
echo "<option selected>$slutminut</option>";

while($ares=mysql_fetch_array($result))
{
    echo "<option name=slutminut value=$ares[0]>$ares[0]</option>";


    if($slutminut==$ares1[0]) echo " selected ";
    echo " name=slutminut>$ares1[0]</option>";
}

echo "</select>";
php?>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[2]; ?></font>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[3]; ?></font>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[4]; ?></font>
<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[5]; ?></font>
<BR>
<BR>
Beskrivelse:
<BR>
<textarea  COLS=100 ROWS=5 name=beskrivelse></textarea>
<BR>
(Max. 200 tegn)
<BR>
<BR>
Ansvarlig/kontaktperson:<input type=text size=50 name=ansvarlig value="<? echo $ansvarlig; ?>">(f.eks Underviser/foredragsholder)<font color="#FF0000">&nbsp;&nbsp;<? echo $errorArray[6]; ?></font>
<BR>
<BR>
Skal arrangementet vises i SDUs arrangementskalender
<select name=kalender>
<option selected value="nej" name=kalender>Nej</option>
<option value="Nej">Ja</option>
</select>
<BR><BR>
<input type=submit name="submit" value="Send">
</form>
<BR>
<BR>
<BR>
<a href="http://www.sdu.dk/infotavler/index.html">Tilbage til forsiden</a>

-----

værsgo her er hele scriptet

/Pitufo
Avatar billede avminarm Juniormester
28. juli 2003 - 11:44 #3
lav en switch eller en if/else som f.eks:

  switch($$_GET['maaned_id']){
  case '1':
    $md = "januar";
  break;
  case '2':
    $dage = "februar";
  break;

  osv.......
}
Avatar billede avminarm Juniormester
28. juli 2003 - 11:46 #4
hov der skal self ikke være 2 $ ved GET
Avatar billede avminarm Juniormester
28. juli 2003 - 11:47 #5
og $dage skal være $md ;o)
Avatar billede pitufo Nybegynder
28. juli 2003 - 11:56 #6
enten forstår jeg ikke helt hvad det er du har foreslået men det jeg i virkeligheden gerne ville var at den variabel der skal sendes til næste script videre er  maaned_id , men at det er maaned der bliver vist når scriptet geninslæsesn når brugeren ikke har indtastet alle de obligatoriske oplysninger
Avatar billede avminarm Juniormester
28. juli 2003 - 14:22 #7
ja - netop der hvor du vil have månedens navn vist sætter du den lille stump kode ind jeg har vist og så laver du en:

echo $md;

Jeg forudsætter at din måneds værdi (maaned_id) hentes oppe i adresselinien.
Avatar billede pitufo Nybegynder
28. juli 2003 - 14:34 #8
tjo maaned_id henter jeg fra databasen

---------
$query1 = "SELECT DISTINCT maaned_id, maaned FROM maaned ORDER BY maaned_id";
$result1 = mysql_query($query1) or die("Query failed");

echo "<select name=maaned >";

while($ares1=mysql_fetch_array($result1))
-----------
Avatar billede avminarm Juniormester
28. juli 2003 - 15:24 #9
hvordan ser din db struktur for tabellen maaned
Avatar billede pitufo Nybegynder
28. juli 2003 - 15:31 #10
Field        Type          Attributes        Null
maaned_id  tinyint(2)  UNSIGNED ZEROFILL    No      auto_increment        maaned      varchar(10)                      No
----------

maaned_id er angivet fra 1-12
maaned er månederne listet med bogstaver (januar, februar, marts.......)
----------

var det det her du spurgte efter
Avatar billede avminarm Juniormester
29. juli 2003 - 08:01 #11
yep (du kunne nu lige så godt lave månederne som et array: array("januar","februar" ..... osv);

du kan lave den der switch jeg talte om tidligere sådan her:

switch($ares1['maaned_id']){
  case '1':
    $md = "januar";
  break;
  case '2':
    $md = "februar";
  break;

  osv.......
}

echo $md;  // vil så returnere måneden

Jeg tror det er det du mener, men hvor "gemmes" måned_id efter submit - gemmes den som $maaned?
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