Avatar billede nicklasw Nybegynder
16. april 2009 - 17:45 Der er 5 kommentarer og
1 løsning

variable vil ikke ændre sig

Hej Eksperter.

Jeg er igang med at lave en lille klasse, indtil videre ser den sådan ud:

<?php

    class Calendar_update
    {
        //variable declarations
        private $post_to = "";
        private $user_message = "";
       
        //private functions
        private function get_options()
        {
            //lav forbindelse til sql servern
            include("mysql.php");
            //hiv data ude af databasen
            $sql_res = mysql_query("SELECT * FROM Calendar") or die(mysql_error());
           
            $options;
           
            while($row = mysql_fetch_array($sql_res))
            {
                $id = $row[0];
                $time = $row[1];
                $timeOver = $row[2] + 0;
                $place = $row[3];
                $header = $row[4];
                $description = $row[5];
                $image_link = $row[6];
                           
                $realtime = date("d/m/y", $timeOver);
                           
                if($timeOver >= now)
                {
                    $options .= "<option value=\"$id\" style=\"background-color: green;\">$realtime</option>";
                }else{
                    $options .= "<option value=\"$id\" style=\"background-color: red;\">$realtime</option>";
                }
            }
           
            return $options;
        }
       
        //public functions
       
        function post_to_db()
        {
           
        }
       
        function check_missing()
        {
            $mis_res = array();
           
            if($_POST['Titel'] == "")
            {
                $mis_res[] = 1;
            }
           
            if($_POST['File'] == "");
            {
                $mis_res[] = 2;
            }
           
            if($_POST['Edited'] == "")
            {
                $mis_res[] = 3;
            }
           
            if($_POST['FDa'] == "")
            {
                $mis_res[] = 4;
            }
           
            if($_POST['FTi'] == "")
            {
                $mis_res[] = 5;
            }
           
            if($_POST['FDa'] == "")
            {
                $mis_res[] = 6;
            }
           
            if($_POST['TTi'] == "")
            {
                $mis_res[] = 7;
            }
           
            return $mis_res;
        }
       
        function load_ex_post()
        {
            $Titel = $_POST['Titel'];
            $Edited = $_POST['Edited'];
            $FDa = $_POST['FDa'];
            $FTi = $_POST['FTi'];
            $TDa = $_POST['FDa'];
            $TTi = $_POST['TTi'];
        }
       
        function set_user_message($message)
        {
            $user_message = '<a style="margin-left: auto; margin-right: auto; color: red;">' . $message . '</a>';
        }
       
        function status()
        {
            switch ($_POST['Selecter'])
            {
                case "":
                    return 0;
                    break;
               
                case "new":
                    return 1;
                    break;
                   
                default:
                    return 2;
                    break;
            }
        }
       
        function set_post_to($to)
        {
            $post_to = $to;
        }
       
        function draw()
        {
            echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                            <title>Kalender rediger side</title>
                            <script type="text/javascript" src="whizzywig.js"></script>
                        </head>
                        <body>
                            <div style="width: 500px; min-height: 300px; margin-right: auto; margin-left: auto; border: 1px solid black; padding: 0px;">
                                <form method="post" action="' . $post_to . '">'
                                . $user_message . '
                                    <select id="Selecter" name="Selecter" style="margin-left: 150px; width:200px;">
                                        <option value="new">Ny event</option>
                                        ' . $this->get_options() . '
                                    </select>
                                   
                                    <p></p>
                                    <a>Titel</a><br />
                                    <input type="text" value="' . $Titel . '" name="Titel" id="Titel" />
                                   
                                    <p></p>
                                    <a>Find event billede</a><br />
                                    <input type="file" id="File" /><br />
                                   
                                    <textarea name="Edited" id="Edited" style="height: 300px; width: 100%;">' . $Edited . '</textarea>
                                    <script type="text/javascript">
                                        buttonPath = "/admin/buttons/"; //directory holding button images
                                        cssFile = "rediger.css";
                                        imageBrowse = "http://www.marxist.dk/";
                                        makeWhizzyWig("Edited", "all");
                                    </script>
                                   
                                    <br />
                                    <a>Fra Dato --- DD-MM-YYYY</a><br />
                                    <input type="text" value="' . $FDa . '" name="FDa" /><br />
                                   
                                    <a>Kl. --- TT-MM</a><br />
                                    <input type="text" value="' . $FTi . '" name="FTi" /><p></p>
               
                                    <a>Til Dato --- DD-MM-YYYY</a><br />
                                    <input type="text" value="' . $TDa . '" name="TDa" /><br />
               
                                    <a>Til Kl. --- TT-MM</a><br />
                                    <input type="text" value="' . $TTi . '" name="TTi" /><p></p>
               
                                    <input type="submit" value="Okay" />

                                </form>
                            </div>
                        </body>';
        }
    }

?>

problemet er at functionen set_user_message() ikke virker.

hvis jeg kalder functionen sådan her:

<?php

    require("Calendar_class.php");
   
    $a = new Calendar_update;
   
    $a->set_user_message("hejsa");
   
    $a->draw();

?>

så sker der intet... variablen user_message bliver ikke ændret.
er der nogle der kan forklare mig hvorfor den ikke gør det??

Mvh.
Nicklas Jacobsen
Avatar billede jakobdo Ekspert
16. april 2009 - 18:02 #1
Prøv at ret funktionen:
function set_user_message($message){
  $user_message = '<a style="margin-left: auto; margin-right: auto; color: red;">' . $message . '</a>';
}

til:

function set_user_message($message){
  $this->user_message = '<a style="margin-left: auto; margin-right: auto; color: red;">' . $message . '</a>';
}
Avatar billede jakobdo Ekspert
16. april 2009 - 18:03 #2
Og i draw, bør du nok også rette:

$user_message

til:

$this->user_message
Avatar billede nicklasw Nybegynder
16. april 2009 - 18:22 #3
aah tak... du kan bare smide et svar...
Hvad skulle man dog gøre uden eksperten ;)
Avatar billede jakobdo Ekspert
16. april 2009 - 18:55 #4
Svar!
Avatar billede nicklasw Nybegynder
16. april 2009 - 22:21 #5
200 point til dig vær så god.
Avatar billede jakobdo Ekspert
17. april 2009 - 07:09 #6
takker for point
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