ID probleem
de tabel ziet er zo uit:
CREATE TABLE PmInbox (
PmInboxId INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
PmInboxVerzenderId INT FOREIGN KEY REFERENCES Gebruikers(GebruikerId),
PmInboxOntvangerId INT FOREIGN KEY REFERENCES Gebruikers(GebruikerId),
PmInboxOnderwerp VARCHAR(64),
PmInboxTekst VARCHAR(4096),
PmInboxDatum DATETIME,
PmInboxGelezen INT,
);
mijn code die niet werkt:
Code (php)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<table cellpadding="1" cellspacing="1" width="230" align="center">
<form action="?" method="post">
<?php
// dropdown met nicknames
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen categorieën selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
<?php
###############################
# versturen van berichtje #
###############################
$GebruikerId; //opgehaald uit tbl gebruikers
echo $GebruikerId;
// bepalen van id van ontvanger
$ontvanger = $_POST['ontvangers'];
/*$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
if (isset($_POST['verzenden'])) {
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PMInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum) VALUES
('$verstuurder','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');
}*/
?>
<tr>
<td align="right">Onderwerp:</td><td><input type="text" name="onderwerp"/></td>
</tr>
<tr>
<td valign="right">MSG:</td><td><textarea name="boodschap" rows=8 cols=40 WRAP="soft"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="verzenden" class="button" value="verzenden" /></td>
</tr>
</form>
</table>
<form action="?" method="post">
<?php
// dropdown met nicknames
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen categorieën selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
<?php
###############################
# versturen van berichtje #
###############################
$GebruikerId; //opgehaald uit tbl gebruikers
echo $GebruikerId;
// bepalen van id van ontvanger
$ontvanger = $_POST['ontvangers'];
/*$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
if (isset($_POST['verzenden'])) {
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PMInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum) VALUES
('$verstuurder','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');
}*/
?>
<tr>
<td align="right">Onderwerp:</td><td><input type="text" name="onderwerp"/></td>
</tr>
<tr>
<td valign="right">MSG:</td><td><textarea name="boodschap" rows=8 cols=40 WRAP="soft"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="verzenden" class="button" value="verzenden" /></td>
</tr>
</form>
</table>
Edit:
codetags toegevoegd
Gewijzigd op 01/01/1970 01:00:00 door Kristof s
Het enige waar het id in verwerkt zit is de variabele $lijst die alle <option>'s van je <select> box bevat. Maar verder nergens.
dus dat werkt daar ligt het probleem niet. dat heb ik getest met die echo.
maar hoe krijg ik nu die id van die variabele lijst te zien? hoe kan ik die echoen ? of iets anders, ik heb die id's echt nodig
He je het gepost, dan kun je het daarna ophalen met de bijbehorende $_POST variabele, in dit geval $_POST['ontvangers'].
wat stel je dan voor dat ik doe ?
Maar als jij eerst binnen het formulier een keuze wilt maken uit 1 van de gebruikers, dan doe je het op de manier die je nu gebruikt. Als je het formulier dan verzonden heb kun je met $_POST['ontvangers'] het gekozen ID ophalen.
Als je meerdere ontvangers wilt selecteren, dan kun je je <select> tag ook het 'multiple' attribuut meegeven.
het is de bedoeling dat je een ontvanger selecteert, je de boodschap intikt met bijhorende titel. Als je dan op verzenden drukt dan moet hij de ontvangerid wegschrijven in de DB
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sql = "
INSERT INTO tabel (gebruikerID)
VALUES ('".$_POST['ontvangers']."')
";
// Uitvoeren etc...
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sql = "
INSERT INTO tabel (gebruikerID)
VALUES ('".$_POST['ontvangers']."')
";
// Uitvoeren etc...
}
?>
Precies zoals ik al zei eigenlijk. Zodra je het formulier gepost hebt, staat het id van de ontvanger in $_POST['ontvangers'].
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
ik heb er nu dit van gemaakt maar hij doet echt NIKS meer nu :s
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
###############################
# versturen van berichtje #
###############################
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');*/
}
?>
###############################
# versturen van berichtje #
###############################
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');*/
}
?>
Code (php)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
// Verwerken van het formulier
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['verzenden']))
{
// Insert in de database.
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');
}
}
else
{
// Tonen van het formulier:
echo '<table cellpadding="1" cellspacing="1" width="230" align="center">';
echo '<form action="?" method="post">';
// Benodigde gegevens ophalen uit database voor selectionbox
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen categorieën selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
// Formulier genereren.
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
// Verwerken van het formulier
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['verzenden']))
{
// Insert in de database.
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan niet wegschrijven');
}
}
else
{
// Tonen van het formulier:
echo '<table cellpadding="1" cellspacing="1" width="230" align="center">';
echo '<form action="?" method="post">';
// Benodigde gegevens ophalen uit database voor selectionbox
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen categorieën selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
// Formulier genereren.
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
<tr>
<td align="left">Onderwerp:</td><td><input type="text" name="onderwerp"/></td>
</tr>
<tr>
<td valign="left">MSG:</td><td><textarea name="boodschap" rows=8 cols=40 WRAP="soft"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="verzenden" class="button" value="verzenden" /></td>
</tr>
</form>
</table>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
?>
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
?>
Hoort thuis in het eerste if-statement. En dit:
Is overbodig aangezien je dat al controleert met if($_SERVER['REQUEST_METHOD'] == 'POST')
zucht schrijft nog altijd niks weg :s
Code (php)
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
41
42
43
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
41
42
43
<?php
// Verwerken van het formulier
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
// Insert in de database.
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan bericht niet wegschrijven');
}
else
{
// Tonen van het formulier:
echo '<table cellpadding="1" cellspacing="1" width="230" align="center">';
echo '<form action="?" method="post">';
// Benodigde gegevens ophalen uit database voor selectionbox
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen gebruiker selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
// Formulier genereren.
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
// Verwerken van het formulier
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$GebruikerId;
echo $GebruikerId;
$ontvanger = $_POST['ontvangers'];
$onderwerp = $_POST['onderwerp'];
$boodschap = $_POST['boodschap'];
$datum = date('Y-m-d, H-i-s');
// Insert in de database.
$sql = "INSERT INTO PmInbox (PmInboxVerzenderId,PmInboxOntvangerId,PmInboxOnderwerp,PmInboxTekst,PmInboxDatum)
VALUES ('$GebruikerId','$ontvanger','$onderwerp','$boodschap','$datum')";
$uitvoeren = mssql_query($sql) or die ('kan bericht niet wegschrijven');
}
else
{
// Tonen van het formulier:
echo '<table cellpadding="1" cellspacing="1" width="230" align="center">';
echo '<form action="?" method="post">';
// Benodigde gegevens ophalen uit database voor selectionbox
$sql = "SELECT GebruikerId, GebruikerNickname from Gebruikers ORDER BY GebruikerNickname ASC";
$result = mssql_query($sql) or die('Kan geen gebruiker selecteren');
while($line = mssql_fetch_array($result, MSSQL_NUM)) {
$lijst .= '<option value="'.$line[0].'">'.$line[1].'</option>';
}
// Formulier genereren.
if($lijst != '') {
echo '<tr>'.'<td align="left">';
echo 'Aan:';
echo $ontvanger;
echo '</td>';
echo '<td align="left">';
echo '<select name="ontvangers" class="field">'.$lijst.'</select>';
echo '</td>';
echo '</tr>';
}
?>
<tr>
<td align="left">Onderwerp:</td><td><input type="text" name="onderwerp"/></td>
</tr>
<tr>
<td valign="left">MSG:</td><td><textarea name="boodschap" rows=8 cols=40 WRAP="soft"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="verzenden" class="button" value="verzenden" /></td>
</tr>
</form>
</table>
dit is het ganse script, het vult momenteel niets in in de DB :s
dit werkt al helemaal, ben ondertussen al pak opgeschoten. bedankt blache voor je hulp. TOpic mag dicht
Tevens is het handiger om met de database-functie NOW() de datum en tijd van het heden in te vullen. Daar komt geen letter php-code aan te pas.
Zie verder hoofdstuk 11 voor de datatypes en 12.5 voor de vele handige datum- en tijdfuncties.