Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 14:13 Der er 11 kommentarer og
1 løsning

Hjælp! har et mindre php problem s:

Hej eksperter

Jeg har lavet er login, og efter man har logget ind skal man kunne gå ind og ændre sin tekst i menuen, men er ny i php og kan kun få det til at virke i det nye IE beta.

<? session_start();?>
<html>
<body>
<?
if($_POST["menu1"])
  $_SESSION["menu1"]=$_POST["menu1"];
?>

<form method=post action=Admin_controlpanel.php>
<input name="menu1" value="<? echo $_SESSION["menu1"]; ?>"><br>
<input type="submit" value="change menu1">
</form>

</body>
</html>

Og her er koden den linker til

<? session_start(); ?>
<html>
<head>

<body>
<? echo $_SESSION["menu1"]; ?>

</body>
</html>

Hvad skal ændres så det vises i IE og firefox, som sagt kan kun få det til at virke i det nye IE beta
Avatar billede rmk24 Nybegynder
05. januar 2011 - 14:28 #1
du kan ikk se noget på den side den sender til eller?
Avatar billede michael_stim Ekspert
05. januar 2011 - 14:32 #2
Er det alt koden?

Doctype?
</head>?

Osv osv.

Og væn dig til at bruge <?php i stedet for <?
Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 14:35 #3
Der kommer ikke noget frem på siden s:
Avatar billede rmk24 Nybegynder
05. januar 2011 - 14:35 #4
<form method=post action=Admin_controlpanel.php>

ved ikk om det gør noget med mangler du ikk "" omkring post og admin_controlpanel.php


det ser lidt underligt ud synes jeg. kan ikk rigtigt finde hoved og hale i det
Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 14:41 #5
Har lige prøvet at ændre det, men det hjælper ikke s:
Avatar billede repox Seniormester
05. januar 2011 - 16:54 #6
Der er flere ting i det.

Først og fremmest skal du vænne dig til at skrive <?php ikke bare <? - de fleste nyere PHP installationer tillader ikke den korte udgave som du anvender (kaldet for short tags) - som sikkert også er et af dine problemer i sin nuværende form.

Skriv valid HTML - brug " rundt om dine elementers attributter hver gang.

Og så til det faktiske problem.

På din oprindelige side, med formularen, starter du med at fortælle at hvis $_POST["menu1"] evaluerer som sandt, så skal $_SESSION["menu1"] indeholde værdien af den. Men din formular peger på filen Admin_controlpanel.php hvorfor det er den fil der modtager indholdet af $_POST["menu1"]. Men den behandler du jo ikke der - du echo'er bare indholdet af $_SESSION["menu1"] ud, men den er - af førnævnte årsag - jo tom.

Så hvis du skal have indholdet af $_POST["menu1"] i din session ud fra formularen, skal du flytte din if-sætning over i Admin_controlpanel.php eller også skal du rette form-filen til at blive noget ala:
<?php 
    session_start();
    if( isset($_POST["menu1"]) )
    {
      $_SESSION["menu1"]=$_POST["menu1"];
      header("Location: Admin_controlpanel.php");
      exit;
    }
   
?>
<DOCTYPE html>
<html>
    <head>
    </head>
    <body>

        <!-- bemærk: en tom action attribut får bare formularen til at pege på den nuværende URL -->
        <form method="post" action="">
        <input name="menu1" value="<?php echo $_SESSION["menu1"]; ?>"><br>
        <input type="submit" value="change menu1">
        </form>

</body>
</html>
Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 17:32 #7
Hej repox

tak for svaret, men ville lige høre om noget mere, skal man endelig bruge mysql til det jeg forsøger, for det kunne jeg godt forstille mig man skal??
Avatar billede repox Seniormester
05. januar 2011 - 19:35 #8
Hvis det du du ønsker er illustreret i dit eksempel i #0, så kan jeg ikke umiddelbart se hvordan du har fået idéen om at du har brug for en database?
Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 19:47 #9
Altså det fungere ligesom et cms system, hvor jeg kan logge ind skrive hvad det nye navn i menuen skal være, og så gemme det. Og så er det ændret på index filen i menuen?
Avatar billede repox Seniormester
05. januar 2011 - 20:07 #10
Med risiko for at være flabet, tror du så ikke du gaber over for meget nu?

At kode et CMS er en meget omfattende opgave - især for en på et niveau, som du har åbnet op for her i tråden.

Forstå mig ret - der er plads til alle niveauer og vi er alle startet et sted; men ved at starte for stort, kan du risikere at møde for meget modstand og derved miste modet til at fortsætte med din udvikling.

Jeg kan naturligvis have misforstået dit niveau, men jeg har en fornemmelse af at dit ambitionsniveau er større.

Men for at svare på dit spørgsmål, så jo - en MySQL database vil være at foretrække til at gemme/hente data som skal bruges i den forbindelse.
Avatar billede ChristianRLarsen Nybegynder
05. januar 2011 - 20:16 #11
Okej, forstår godt hvad du mener men nu er det jo heller ikke et helt cms system. Men læg et svar og tak for hjælpen (:
Avatar billede repox Seniormester
05. januar 2011 - 20:24 #12
Du fik et svar her.
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