Dropdown list met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Hopster

Marco Hopster

05/04/2017 17:17:03
Quote Anchor link
Hallo,

Ik probeer een formulier te maken, waar men de ontvanger van het bericht kan selecteren dmv een dropdown list.
Nu heb ik gezocht naar een goed werkend script.
Ik heb onderstaande gevonden, alleen ik krijg de namen niet in beeld.

Ik heb bewust het blokje met het php script links staan, omdat ik het dan makkelijker kan weer vinden en lezen.

Onderstaand een deel van het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
if (!session_id()) { session_start(); };
include("config.php");// sleep(12);
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
$res = "select * from members where id='$id'";
$result = mysqli_query($db,$res);
if ($myrow = mysql_fetch_array($result)) {
    $aan_naam = $myrow['naam'];
}

$u_id=$_SESSION['user_id'];
$u_naam=$_SESSION['is_naam'];
$etime=time();
$aan_naam = $myrow['naam'];

//voor tabel


?>

<center><br>
            <? include("tboven"); ?><h3>Stuur nu een bericht </h3>

            <form name="mailstuur" action="" onsubmit="ajax1.post('mail-post.php','mailstuur','content'); return false;" >
                <table cellpadding="0" cellspacing="1" width="550" class="mailTable" style="text-align:left;">
                    <tr>
                    <td class="tableHeader" colspan=2 align="right"><img align=absmiddle  src="icons1/3/01/16/47.png"> Postvak Uit</td>
                    </tr>
                    <tr class="tableRow1">
                        <td class="tableHeader" width="90"><img align=absmiddle  src="icons1/3/01/16/02.png"> Aan:</td>
                        <td class="tableRow" width="*">
                    <?php

echo "<select name= 'naam'>";
echo '<option value="">'.'--- Selecteer Naam ---'.'</option>';
$query = mysqli_query($db,"SELECT id, naam FROM members");
while($row=mysqli_fetch_array($query))
{

    echo "<option value='". $row['id']."'>".$row['naam'].'</option></td>';
}

echo '</select>';
?>


Ward:
[code][/code]-tags aangepast.
Gewijzigd op 05/04/2017 17:45:46 door Ward van der Put
 
PHP hulp

PHP hulp

25/11/2024 17:16:15
 
- Ariën  -
Beheerder

- Ariën -

05/04/2017 17:49:38
Quote Anchor link
Waar komt $id vandaan?
 
Marco Hopster

Marco Hopster

05/04/2017 18:52:13
Quote Anchor link
ten eerste bedankt voor het juist wegzetten van het script, ik probeerde script, maar dat werkte niet ;)

$row['id'] komt uit regel 34.
Als ik regel 30 t/m 40 in een leeg bestand plaats, dan werkt het allemaal wel.
Dus ik heb zelf het idee dat het door regel 37 komt, dat ik $row['id'] en $row['naam'] niet goed heb.
 
- Ariën  -
Beheerder

- Ariën -

05/04/2017 19:12:57
Quote Anchor link
Maar ik heb het over $id op lijn 5 ;-)

je statement op regel 7 is ook een beetje vreemd.
Gewijzigd op 05/04/2017 19:14:20 door - Ariën -
 
Marco Hopster

Marco Hopster

05/04/2017 19:18:51
Quote Anchor link
Inderdaad, die heb ik helemaal niet nodig. Ik wilde een naam weergeven in het tabel als afzender, maar dat laat ik achterwege, dus die regels heb ik inmiddels verwijderd. Dat zijn regel 5 t/m 9 én 13.
Nog zie ik de namen niet :(
 
- Ariën  -
Beheerder

- Ariën -

05/04/2017 19:21:51
Quote Anchor link
Ik zou eerst maar eens aan goede foutafhandeling beginnen op je mysqli_query(), en kijken wat mysqli_error($db) te zeggen heeft.

Zorg ook dat je error reporting aan hebt staan aan het begin:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>


Verder raad ik de shorthand <? ook niet aan om te gebruiken. Gebruik liever de volledige PHP-start tag.

En klopt het ook dat er een extentie mist in je te includeren bestand?

En wat doet die </td> in je loop? Ik denk dat dit je select-box om zeep helpt.
Gewijzigd op 05/04/2017 19:25:00 door - Ariën -
 
Marco Hopster

Marco Hopster

05/04/2017 19:49:11
Quote Anchor link
Ik heb je punten aangepast, ik zal hier het script updaten zoals het nu is.
Ik krijg geen foutmeldingen en het werkt ook nog niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
if (!session_id()) { session_start(); };
include("config.php");
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
$u_id=$_SESSION['user_id'];
$u_naam=$_SESSION['is_naam'];
$etime=time();

//voor tabel


?>

<center><br>
            <? include("tboven.html"); ?><h3>Stuur nu een bericht </h3>

            <form name="mailstuur" action="" onsubmit="ajax1.post('mail-post.php','mailstuur','content'); return false;" >
                <table cellpadding="0" cellspacing="1" width="550" class="mailTable" style="text-align:left;">
                    <tr>
                    <td class="tableHeader" colspan=2 align="right"><img align=absmiddle  src="icons1/3/01/16/47.png"> Postvak Uit</td>
                    </tr>
                    <tr class="tableRow1">
                        <td class="tableHeader" width="90"><img align=absmiddle  src="icons1/3/01/16/02.png"> Aan:</td>
                        <td class="tableRow" width="*">
                    <?php

echo "<select name= 'naam'>";
echo '<option value="">'.'--- Selecteer Naam ---'.'</option>';
$query = mysqli_query($db,"SELECT id, naam FROM members");
while($row=mysqli_fetch_array($query))
{

    echo "<option value='".$row['id']."'>".$row['naam'].'</option>';
}

echo '</select>';
?>

</td>
</tr>



Toevoeging op 05/04/2017 20:01:43:

Ik heb alles afgesloten en opnieuw geopend, kreeg toen wel een foutmelding over $u_naam. Die heb ik verwijderd omdat ik die toch niet nodig heb, en het werkt nu wel! bedankt voor de tips!
Gewijzigd op 06/04/2017 12:38:47 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

06/04/2017 12:40:41
Quote Anchor link
Zie ook mijn vorige opmerkingen, je hebt ze niet allemaal toegepast ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.