Avatar billede fk87 Nybegynder
13. september 2008 - 21:36 Der er 15 kommentarer og
1 løsning

Hjælp til kodestump

Hej Eksperter,

Hvordan kan jeg omskrive det således at den ikke skriver dataen i en dropdown menu, men i stedet for udskriver dataen som almindelig uredigerbar tekst?

<?('tidspunkter', $db->get_class_times_for_dropdown($id))?>

På forhånd tak.

//FK87
Avatar billede fk87 Nybegynder
13. september 2008 - 21:40 #1
Ups mentee denne: <?=$f->dropdown_field('tidspunkter', $db->get_class_times_for_dropdown($id))?>
Avatar billede fk87 Nybegynder
13. september 2008 - 22:19 #2
Samt hvorfor vil den ikke vise følgende på min HP:
E-mail kø:
form method="post" action="email.php">
<input type="hidden" name="id" value="<?=$id?>" />
<input type="submit" name="mailit" value="Send E-mail" />
</form>
Avatar billede fk87 Nybegynder
13. september 2008 - 22:29 #3
Det går godt nok stærkt idag - men nedenfor er det den ikke vil vise:
<form method="post" action="email.php">
<input type="hidden" name="id" value="<?=$id?>" />
<input type="submit" name="mailit" value="Send E-mail" />
</form>
Avatar billede w13 Novice
13. september 2008 - 23:01 #4
Hvad er det, den ikke vil vise? Kan du evt. smide et link? Og vi skal nok bruge den klasse, som er blevet brugt til variablen $f...
Avatar billede fk87 Nybegynder
13. september 2008 - 23:21 #5
Her er hele filen:
<?php
require 'common.php';

$db = new Database();

$classlist = $db->get_classes();

$page_title = "";
?>
<? require 'header.php' ?>
<div align="center">
    <table border="0" width="500" cellpadding="0" height="500" bordercolor="#000000" style="border-collapse: collapse">
        <tr>
            <td valign="top">
<table border="1" width="100%" style="border-width: 0px" cellspacing="0" cellpadding="0">
    <tr>
        <td style="border-style: none; border-width: medium">
        <p align="left"><font face="Verdana" size="1">
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>
        <b><br>
        - </b><br>
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;</font></td>
        <td style="border-style: none; border-width: medium" width="169">
        <font face="Verdana" size="1">
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>
        <br>
        <br>
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;</font></td>
    </tr>
</table>
            <h2><font face="Verdana" size="1">Opret ny spiller:</font></h2>
<ul>
    <font face="Verdana" size="1">
    <? foreach($classlist as $class) { ?>
    </font>
    <li><a href="new.php?id=<?=$class['id']?>"><font size="1" face="Verdana"><?=$class['navn']?></font></a><font size="1" face="Verdana"></li>
    <? } ?>
</font>
</ul>
<h2><font face="Verdana" size="1">Overflytning af spiller:</font></h2>
<ul>
    <li><font face="Verdana" size="1"><a href="move.php">Flyt spiller</a></font></li>
</ul>


<font face="Verdana" size="1">


<? if($db) { $queue = $db->get_queue(); ?>
</font>
<u1>
<h2><font face="Verdana" size="1">E-mail kø:</font></h2></u1>
<font size="1" face="Verdana"><form method="post" action="email.php">
<input type="hidden" name="id" value="<?=$id?>" />
<input type="submit" name="mailit" value="Send E-mail" style="border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF;" /></form></font>


<ul>
<font face="Verdana" size="1">
<?php foreach($queue as $id => $n)?> <? { ?>
    </font>
    <li><form method="post" action="email.php"><font face="Verdana" size="1">
        <font size="1"><input type="hidden" name="id" value="<?=$id?>" />
        </font><?=htmlentities($n)?>
        <input type="submit" name="delete" value="Slet" style="border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF" /></font></form>
    <font face="Verdana" size="1">
<? } ?>
</ul>
<p align="center">
&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>
</font>
</td>
        </tr>

</div>
<? } ?><? require 'footer.php' ?>
Avatar billede w13 Novice
14. september 2008 - 00:01 #6
Der står ikke $f->dropdown... noget sted i den kode.
Avatar billede fk87 Nybegynder
14. september 2008 - 00:04 #7
<div align="center">
    <table border="0" width="500" cellpadding="0" height="500" bordercolor="#000000" style="border-collapse: collapse">
        <tr>
            <td valign="top">
<table border="1" width="100%" style="border-width: 0px" cellspacing="0" cellpadding="0">
    <tr>
        <td style="border-style: none; border-width: medium">
        <p align="left"><font face="Verdana" size="1">
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>
        <b><br>
        - </b><br>
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;</font></td>
        <td style="border-style: none; border-width: medium" width="169">
        <font face="Verdana" size="1">
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>
        <br>
        <br>
        &#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;</font></td>
    </tr>
</table>
            <h1><font face="Verdana" size="1">Opret ny spiller:</font></h1>
<form method="post" action="new.php">
<font face="Verdana" size="1">
<?=$f->hidden_field('id', @$_REQUEST['id'])?>
<?=$f->hidden_field('type', "Ny spiller")?>
</font>
<table>
<tr>
    <td><font face="Verdana" size="1">Navn</font></td>
    <td><font face="Verdana" size="1"><?=$f->text_field('navn')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Adresse</font></td>
    <td><font face="Verdana" size="1"><?=$f->text_field('adresse')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Postnr. og By</font></td>
    <td><font face="Verdana" size="1"><?=$f->text_field('postnr_by')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Fødselsdato</font></td>
    <td><font face="Verdana" size="1"><?=$f->date_field('foedselsdato')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Føste træningsdag (Dato)</font></td>
    <td><font face="Verdana" size="1"><?=$f->date_field('start_dato')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Træningstidspunkter</font></td>
    <td><font face="Verdana" size="1"><?=$f->dropdown_field('tidspunkter', $db->get_class_times_for_dropdown($id))?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">Telefon nr.</font></td>
    <td><font face="Verdana" size="1"><?=$f->text_field('telefon')?></font></td>
</tr>
<tr>
    <td><font face="Verdana" size="1">E-mail adr.</font></td>
    <td><font face="Verdana" size="1"><?=$f->text_field('email')?></font></td>
</tr>
<tr>
    <td></td>
    <td><font size="1" face="Verdana">
    <input type="submit" value="Gem"</td style="border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF">
    </font>
</tr>
</table>
<p></p>
<font face="Verdana" size="1">
<p align="center">
<script type="text/javascript">
/*<[CDATA[*/
var dpck1    = new DatePicker({
    relative    : 'start_dato',
    language    : 'dk',
    disablePastDate: false,
    disableFutureDate: false
});

var dpck2    = new DatePicker({
    relative    : 'foedselsdato',
    language    : 'dk',
    disableFutureDate: true
});
/*]]>*/
</script>
&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;&#903;<br>

</form>
</td>
        </tr>
    </table>
</div>
Avatar billede w13 Novice
14. september 2008 - 00:10 #8
Der mangler et sted, hvor $f sættes.
Avatar billede fk87 Nybegynder
14. september 2008 - 00:46 #9
<?php
require 'common.php';

$f = new Form;
$db = new Database;

$id = $_REQUEST['id'];
if(empty($id)) die("Invalid ID");
$page_title = '';

if( count($_POST) > 0 ) {
    $data = $_POST;
    $data['hold'] = $db->get_class_name_for($_POST['id']);
    unset($data['id']);
    $db->add("Ny spiller: {$data['navn']}", $data);
    header("Location: index.php");
    exit;
}

require 'header.php';

if($db->is_flagged($id))
    require 'new_form_flag.php';
else
    require 'new_form.php';

require 'footer.php';
Avatar billede w13 Novice
14. september 2008 - 01:19 #10
Ok. Så skal jeg bruge din class Form{ ... } som lader til at ligge i common.php
Avatar billede fk87 Nybegynder
14. september 2008 - 11:38 #11
<?php
session_start();

require 'config.php';

// Check login - if not login.php
if( basename($_SERVER['SCRIPT_NAME']) != 'login.php' ) {
    if(empty($_SESSION['username'])) {
        header("Location: login.php");
        exit;
    }
}


// HTML helpers
class Form {
    function text_field($name) {
        return '<input type="text" name="'.$name.'" id="'.$name.'"/>';
    }

    function date_field($name) {
        return $this->text_field($name);
    }

    function hidden_field($name,$value) {
        return '<input type="hidden" name="'.$name.'" value="'.htmlentities($value).'"/>';
    }

    function dropdown_field($name,$values) {
        $r = '';

        $r = '<select name="'.$name.'">';

        if($values and is_array($values)) {
            foreach($values as $k => $v) {
                $r .= "<option name=\"$k\">$v</option>";
            }
        }
        $r .= '</select>';
        return $r;
    }
}

class Database {
    function Database() {
        mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
        mysql_select_db(MYSQL_DB) or die(mysql_error());
    }

    function is_flagged($class_id) {
        $res = mysql_query(sprintf("
            SELECT flag
            FROM badminton_hold
            WHERE id = '%d'
        ", $class_id)) or die(mysql_error());

        $row = mysql_fetch_assoc($res);
        return $row && $row['flag'];
    }

    function get_class_name_for($class_id) {
        $res = mysql_query(sprintf("
            SELECT navn
            FROM badminton_hold
            WHERE id = '%d'
        ", $class_id)) or die(mysql_error());

        $row = mysql_fetch_assoc($res);
        return $row['navn'];
    }

    function get_classes() {
        $res = mysql_query("
            SELECT * FROM badminton_hold ORDER BY navn
        ") or die(mysql_error());

        $r = array();

        while($row = mysql_fetch_assoc($res))
            $r[] = $row;

        return $r;
    }

    function get_classes_for_dropdown() {
        $res = mysql_query($sql=sprintf("
            SELECT id, navn
            FROM badminton_hold
            ORDER BY navn
        ",$class_id)) or die(mysql_error());

        $r = array();
        while($row = mysql_fetch_array($res)) {
            $r[$row[1]] = $row[1];
        }
        return $r;
    }

    function get_class_times_for_dropdown($class_id) {
        $res = mysql_query($sql=sprintf("
            SELECT id, tider
            FROM badminton_hold_tider
            WHERE hold_id = '%d'
        ",$class_id)) or die(mysql_error());

        $r = array();
        while($row = mysql_fetch_array($res)) {
            $r[$row[1]] = $row[1];
        }
        return $r;
    }

    function add($subject,$data) {
        $payload = serialize($data);

        mysql_query(sprintf("
            INSERT INTO badminton_email(subject, payload)
            VALUES('%s','%s')
        ", mysql_real_escape_string($subject),
        mysql_real_escape_string($payload))) or die(mysql_error());
    }

    function get_queue() {
        $res = mysql_query("SELECT id, subject FROM badminton_email ORDER BY id DESC LIMIT 10");
        $r = array();
        while($row = mysql_fetch_assoc($res))
            $r[$row['id']] = $row['subject'];

        return $r;
    }

    function get_complete_queue() {
        $res = mysql_query("SELECT id, subject, payload FROM badminton_email ORDER BY id DESC");
        $r = array();
        while($row = mysql_fetch_assoc($res))
            $r[$row['id']] = $row;

        return $r;
    }

    function delete_from_queue($id) {
        mysql_query(sprintf("DELETE FROM badminton_email WHERE id = '%d' LIMIT 1", $id));
    }

    function authorize($username,$password) {
        $sql = sprintf("
            SELECT username
            FROM badminton_admin
            WHERE username = '%s'
            AND password = md5('%s')
            LIMIT 1",
            mysql_real_escape_string($username),
            mysql_real_escape_string($password));

        $res = mysql_query($sql) or die(mysql_error());
        return ($res and mysql_fetch_array($res));
    }
}
Avatar billede w13 Novice
14. september 2008 - 13:20 #12
Så ret:

// HTML helpers
class Form {
    function text_field($name) {
        return '<input type="text" name="'.$name.'" id="'.$name.'"/>';
    }

    function date_field($name) {
        return $this->text_field($name);
    }

    function hidden_field($name,$value) {
        return '<input type="hidden" name="'.$name.'" value="'.htmlentities($value).'"/>';
    }

    function dropdown_field($name,$values) {
        $r = '';

        $r = '<select name="'.$name.'">';

        if($values and is_array($values)) {
            foreach($values as $k => $v) {
                $r .= "<option name=\"$k\">$v</option>";
            }
        }
        $r .= '</select>';
        return $r;
    }
}

til:

// HTML helpers
class Form {
    function text_field($name) {
        return '<input type="text" name="'.$name.'" id="'.$name.'"/>';
    }

    function date_field($name) {
        return $this->text_field($name);
    }

    function hidden_field($name,$value) {
        return '<input type="hidden" name="'.$name.'" value="'.htmlentities($value).'"/>';
    }

    function dropdown_field($name,$values) {
        $r = '';

        $r = '<select name="'.$name.'">';

        if($values and is_array($values)) {
            foreach($values as $k => $v) {
                $r .= "<option name=\"$k\">$v</option>";
            }
        }
        $r .= '</select>';
        return $r;
    }

    function puretext($values) {
        $r = '';
        if($values and is_array($values)) {
            foreach($values as $k => $v) {
                $r .= $v . ', ';
            }
        }
        if (strlen($r)) {
          $r = substr( $r , 0 , -2 );
        }
        return $r;
    }
}

Og den kan så kaldes med:

<?=$f->puretext($db->get_class_times_for_dropdown($id))?>
Avatar billede w13 Novice
14. september 2008 - 13:20 #13
Dog utestet.
Avatar billede fk87 Nybegynder
14. september 2008 - 14:10 #14
Det virker ;D takker ... du kan vel ikke også hjælpe mig med det jeg skrev i kommentar 3? Skal nok give flere point så...
Avatar billede w13 Novice
14. september 2008 - 17:30 #15
Måske. Hvad er det, den ikke vil vise?
Avatar billede fk87 Nybegynder
14. september 2008 - 17:38 #16
Har oprettet det i et andet spg. med nye point : http://www.eksperten.dk/spm/845371
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