Email pagina
Nu loop ik tegen 2 dingen aan nl.:
1) De layout
2) Personen verwijderen uit mijn uiteindelijke maillijst
1) De layout:
De kolom linksboven zou helemaal links moeten staan, de kolom rechtsboven in het midden.
De kolom met onderwerp zou verder naar links moeten en daarmee het mailtekstvak ook.
Heb het idee namelijk dat ze niet in de container divs vallen. Heb de style codes even bij de divs gevoegd.
2) Wat ik doe is vanuit de kolom linksboven voeg ik hele groepen personen toe aan mijn kolom rechtsboven. Maar nu zou ik graag uit de kolom rechtsboven ook weer wat personen kunnen wissen....
Zelf dacht ik aan een session, en dan via een knop verwijder dan bepaalde keys(id) uit de array halen.
Hoe los ik dit nu 'makkelijk' op?
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ZSC Westerhoven - Mailen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<?
echo '<div id="ingelogd"><table><tr><td width="220">Ingelogd als: '. $_SESSION['suser']. '</td><td><a href="logout.php">Uitloggen</a></td></table></div>';
echo '<a href="index.php">Terug</a><br><br><br>';
echo '<div id="personencontainer" style="width:1000px;margin-left:auto;margin-right:auto;">';
echo '<div style="width:800px;float:left;">';
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
echo '<select multiple size="20" id="team" name="team[]" style="width:150px;">';
echo '<option value="Alle Leden">Alle Leden</option>';
echo '<option value="Spelende Leden">Spelende Leden</option>';
echo '<option value="Niet-Spelende Leden">Niet-Spelende Leden</option>';
echo '<option value="Alle Gebruikers">Alle Gebruikers</option>';
echo '<option value="Alle Senioren">Alle Senioren</option>';
echo '<option value="Alle Junioren">Alle Junioren</option>';
$query_team = "SELECT team FROM Teams WHERE seizoen = '". $seizoen. "' ORDER BY volgorde";
$result_team = mysql_query($query_team);
while ( $row_team = mysql_fetch_array($result_team) ) {
echo '<option value="Team '. $row_team['team']. '">'. $row_team['team']. '</option>';
}
echo '</select><br>';
echo '<input type="submit" name="submit1" value="Toevoegen aan Maillijst">';
echo '</form>';
echo '</div>';
echo '<div style="width:200px;float:left;">';
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit1'])){
$personen = array();
foreach ($_POST['team'] as $team) {
//hier staan alle mogelijke query's
}
$result = mysql_query($query) or die(mysql_error());
while ( $row = mysql_fetch_array($result) ) {
if ( !in_array($row['id'],$personen['id']) ) {
$personen['id'][] = $row['id'];
$personen['voornaam'][] = $row['voornaam'];
$personen['achternaam'][] = $row['achternaam'];
$personen['email'][] = $row['email'];
$aantalselect++;
}
}
}
echo '<select multiple size="20" id="wie" name="wie[]" onchange="valueCount()" style="width:150px;">';
foreach ( $personen['id'] as $key => $personen['id']) {
echo '<option value="'. $personen['email'][$key]. '" selected="selected">'. $personen['voornaam'][$key]. ' '. $personen['achternaam'][$key]. '</option>';
}
echo '</select><br><br>';
echo 'Aantal geselecteerd: <p id="counter">'. $aantalselect. '</p>';
}
?>
</div>
</div>
<br>
<?
echo '<div id="mailcontainer" style="width:1000px;margin-left:auto;margin-right:auto;">';
echo '<div style="width:250px;float:left;">';
echo '<input type="text" name="onderwerp" value="Onderwerp"><br>';
echo '</div>';
echo '<div style="width:700px;float:left;">';
echo '<textarea name="tekst" rows="25" cols="120"></textarea><br>';
echo '<input type="submit" name="submit" value="Mailen">';
echo '</form>';
echo '</div>';
echo '</div>';
?>
<html>
<head>
<title>ZSC Westerhoven - Mailen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<?
echo '<div id="ingelogd"><table><tr><td width="220">Ingelogd als: '. $_SESSION['suser']. '</td><td><a href="logout.php">Uitloggen</a></td></table></div>';
echo '<a href="index.php">Terug</a><br><br><br>';
echo '<div id="personencontainer" style="width:1000px;margin-left:auto;margin-right:auto;">';
echo '<div style="width:800px;float:left;">';
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
echo '<select multiple size="20" id="team" name="team[]" style="width:150px;">';
echo '<option value="Alle Leden">Alle Leden</option>';
echo '<option value="Spelende Leden">Spelende Leden</option>';
echo '<option value="Niet-Spelende Leden">Niet-Spelende Leden</option>';
echo '<option value="Alle Gebruikers">Alle Gebruikers</option>';
echo '<option value="Alle Senioren">Alle Senioren</option>';
echo '<option value="Alle Junioren">Alle Junioren</option>';
$query_team = "SELECT team FROM Teams WHERE seizoen = '". $seizoen. "' ORDER BY volgorde";
$result_team = mysql_query($query_team);
while ( $row_team = mysql_fetch_array($result_team) ) {
echo '<option value="Team '. $row_team['team']. '">'. $row_team['team']. '</option>';
}
echo '</select><br>';
echo '<input type="submit" name="submit1" value="Toevoegen aan Maillijst">';
echo '</form>';
echo '</div>';
echo '<div style="width:200px;float:left;">';
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit1'])){
$personen = array();
foreach ($_POST['team'] as $team) {
//hier staan alle mogelijke query's
}
$result = mysql_query($query) or die(mysql_error());
while ( $row = mysql_fetch_array($result) ) {
if ( !in_array($row['id'],$personen['id']) ) {
$personen['id'][] = $row['id'];
$personen['voornaam'][] = $row['voornaam'];
$personen['achternaam'][] = $row['achternaam'];
$personen['email'][] = $row['email'];
$aantalselect++;
}
}
}
echo '<select multiple size="20" id="wie" name="wie[]" onchange="valueCount()" style="width:150px;">';
foreach ( $personen['id'] as $key => $personen['id']) {
echo '<option value="'. $personen['email'][$key]. '" selected="selected">'. $personen['voornaam'][$key]. ' '. $personen['achternaam'][$key]. '</option>';
}
echo '</select><br><br>';
echo 'Aantal geselecteerd: <p id="counter">'. $aantalselect. '</p>';
}
?>
</div>
</div>
<br>
<?
echo '<div id="mailcontainer" style="width:1000px;margin-left:auto;margin-right:auto;">';
echo '<div style="width:250px;float:left;">';
echo '<input type="text" name="onderwerp" value="Onderwerp"><br>';
echo '</div>';
echo '<div style="width:700px;float:left;">';
echo '<textarea name="tekst" rows="25" cols="120"></textarea><br>';
echo '<input type="submit" name="submit" value="Mailen">';
echo '</form>';
echo '</div>';
echo '</div>';
?>
Alvast bedankt voor het meedenken!
Gewijzigd op 14/03/2014 18:38:49 door D B
Je kunt daarmee hele mooie dingen maken.
Ook biedt het ondersteuning van JQuery waardoor je makkelijk toevoegen en verwijderen uit de lijsten kunt fixen (middels JavaScript dus).
Session is niet handig want als iemand 2 tabjes open heeft staan loop je al gauw in de knoop
Succes!
Ik moet dan een knop maken om te verwijderen, maar die moet niet als een form knop werken (tenminste, niet een pagina opnieuw laden)
En dan zag ik dat ik met $(.....).remove een item kan verwijderen.
Kun jij mij (misschien met een voorbeeld) vertellen hoe dit dan precies moet?
Zijn er nog anderen die ideeën hebben om dit op te lossen?
Ook zit ik nog met het layout probleem....
Zit nog steeds met dezelfde problemen
Daarnaast echo je een hele hoop html wat het ook niet echt duidelijk maakt.
Als je wat overzichtelijker programmeert dan zie je ook waar je div's opent en sluit en zie je dat dat ook niet helemaal goed gaat.
Al met al is het niet 'even helpen' als je een goed werkend script wilt.
Met jQuery zou je inderdaad kunnen oplossen wat jij wil, het verwijderen van namen uit de selectbox.
Als je hier helemaal niet uit komt is het misschien handig om het uit te besteden?
Last but not least; je gebruikt verouderde mysql_* functies. Deze worden niet meer aangeraden om te gebruiken en zullen op termijn vervallen. Gebruik hiervoor bijvoorbeeld mysqli_* functies die redelijk gelijk zijn.
Toevoeging op 18/03/2014 14:07:44:
Ik zit er trouwens naar te kijken, maar nu stuur je de mail alleen naar de mensen die je selecteert uit die multiple selectbox. Waarom zou je dan mensen willen verwijderen?
Toevoeging op 18/03/2014 14:33:04:
Misschien dat je hier iets verder mee kunt komen?
Voorbeeldje
Hoor het graag van je.
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?php
session_start();
$personen = array();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ZSC Westerhoven - Mailen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--<link rel="stylesheet" type="text/css" href="css.css">-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style type="text/css">
.clearfix{clear:both;}
#personencontainer{position:relative;width:700px;margin:0 auto;}
#groepen,#geselecteerdePersonen{float:left;margin:0 100px 0 0;}
input,textarea,button{margin:10px 0;padding:4px 0;height:30px;}
#mailcontainer textarea{width:100%;height:300px;}
#mailcontainer input[type="text"]{width:100%;}
#mailcontainer input[type="submit"]{margin:0;float:right;}
#footer{height:100px;}
select{width:150px;}
</style>
</head>
<body>
<div id="ingelogd">
Ingelogd als: <?php echo $_SESSION['suser']; ?>
<a href="logout.php">Uitloggen</a>
</div>
<p>
<a href="index.php">Terug</a>
</p>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['submit1'])) {
foreach ($_POST['team'] as $team) {
//hier staan alle mogelijke query's
}
$result = mysql_query($query) or die(mysql_error()); /*Geen die() gebruiken, maar een goede foutafhandeling!*/
while ( $row = mysql_fetch_array($result) ) {
if ( !in_array($row['id'],$personen['id']) ) {
$personen['id'][] = $row['id'];
$personen['voornaam'][] = $row['voornaam'];
$personen['achternaam'][] = $row['achternaam'];
$personen['email'][] = $row['email'];
$aantalselect++; /*Waar komt $aantalselect vandaan?*/
}
}
}
if(isset($_POST['mailen'])) {
if(isset($_POST['wie'])) {
echo 'De mail is verstuurd';
echo '<br />naar: ' . implode(', ',$_POST['wie']);
} else {
echo 'Oeps.. mislukt';
}
}
}
?>
<div id="personencontainer">
<div id="groepen">
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
<select multiple size="20" id="team" name="team[]">
<option value="Alle Leden">Alle Leden</option>
<option value="Spelende Leden">Spelende Leden</option>
<option value="Niet-Spelende Leden">Niet-Spelende Leden</option>
<option value="Alle Gebruikers">Alle Gebruikers</option>
<option value="Alle Senioren">Alle Senioren</option>
<option value="Alle Junioren">Alle Junioren</option>
<?php
$query_team = "SELECT team FROM Teams WHERE seizoen = '". $seizoen. "' ORDER BY volgorde";
$result_team = mysql_query($query_team);
while ( $row_team = mysql_fetch_array($result_team) ) {
echo '<option value="Team '. $row_team['team']. '">'. $row_team['team']. '</option>';
}
?>
</select><br />
<input type="submit" name="submit1" value="Toevoegen aan Maillijst">
</form>
</div>
<div id="geselecteerdePersonen">
<?php
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
echo '<select multiple size="20" id="wie" name="wie[]">';
foreach ($personen as $key => $persoon) {
echo '<option value="'. $persoon['email']. '" selected="selected">'. $persoon['voornaam']. ' '. $persoon['achternaam']. '</option>';
}
echo '</select>';
echo '<br /><button type="button" id="verwijderGeselecteerdPersoon">Verwijderen</button> <button type="button" id="allePersonenSelecteren">Selecteer alles</button>';
echo '<br /><span id="aantalGeselecteerdePersonen"></span>';
?>
</div>
<div class="clearfix"></div>
<div id="mailcontainer">
<input type="text" name="onderwerp" value="Onderwerp">
<textarea name="tekst"></textarea>
<div class="clearfix"></div>
<input type="submit" name="mailen" value="Mailen">
</div>
</form>
</div>
<div id="footer">
</div>
<script>
$( document ).ready( function() {
$( '#verwijderGeselecteerdPersoon' ).click( function( event ) {
$("#wie option:selected").remove();
$( '#aantalGeselecteerdePersonen' ).html( '' );
});
$( '#allePersonenSelecteren' ).click( function( event ) {
$('#wie option').prop('selected', true);
$( '#aantalGeselecteerdePersonen' ).html( 'Aantal geselecteerd: ' + $("#wie :selected").length );
});
$( '#wie' ).on('change', function() {
$( '#aantalGeselecteerdePersonen' ).html( 'Aantal geselecteerd: ' + $("#wie :selected").length );
});
});
</script>
</body>
</html>
session_start();
$personen = array();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ZSC Westerhoven - Mailen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--<link rel="stylesheet" type="text/css" href="css.css">-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style type="text/css">
.clearfix{clear:both;}
#personencontainer{position:relative;width:700px;margin:0 auto;}
#groepen,#geselecteerdePersonen{float:left;margin:0 100px 0 0;}
input,textarea,button{margin:10px 0;padding:4px 0;height:30px;}
#mailcontainer textarea{width:100%;height:300px;}
#mailcontainer input[type="text"]{width:100%;}
#mailcontainer input[type="submit"]{margin:0;float:right;}
#footer{height:100px;}
select{width:150px;}
</style>
</head>
<body>
<div id="ingelogd">
Ingelogd als: <?php echo $_SESSION['suser']; ?>
<a href="logout.php">Uitloggen</a>
</div>
<p>
<a href="index.php">Terug</a>
</p>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['submit1'])) {
foreach ($_POST['team'] as $team) {
//hier staan alle mogelijke query's
}
$result = mysql_query($query) or die(mysql_error()); /*Geen die() gebruiken, maar een goede foutafhandeling!*/
while ( $row = mysql_fetch_array($result) ) {
if ( !in_array($row['id'],$personen['id']) ) {
$personen['id'][] = $row['id'];
$personen['voornaam'][] = $row['voornaam'];
$personen['achternaam'][] = $row['achternaam'];
$personen['email'][] = $row['email'];
$aantalselect++; /*Waar komt $aantalselect vandaan?*/
}
}
}
if(isset($_POST['mailen'])) {
if(isset($_POST['wie'])) {
echo 'De mail is verstuurd';
echo '<br />naar: ' . implode(', ',$_POST['wie']);
} else {
echo 'Oeps.. mislukt';
}
}
}
?>
<div id="personencontainer">
<div id="groepen">
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
<select multiple size="20" id="team" name="team[]">
<option value="Alle Leden">Alle Leden</option>
<option value="Spelende Leden">Spelende Leden</option>
<option value="Niet-Spelende Leden">Niet-Spelende Leden</option>
<option value="Alle Gebruikers">Alle Gebruikers</option>
<option value="Alle Senioren">Alle Senioren</option>
<option value="Alle Junioren">Alle Junioren</option>
<?php
$query_team = "SELECT team FROM Teams WHERE seizoen = '". $seizoen. "' ORDER BY volgorde";
$result_team = mysql_query($query_team);
while ( $row_team = mysql_fetch_array($result_team) ) {
echo '<option value="Team '. $row_team['team']. '">'. $row_team['team']. '</option>';
}
?>
</select><br />
<input type="submit" name="submit1" value="Toevoegen aan Maillijst">
</form>
</div>
<div id="geselecteerdePersonen">
<?php
echo '<form action="'. $_SERVER['REQUEST_URI']. '" method="POST">';
echo '<select multiple size="20" id="wie" name="wie[]">';
foreach ($personen as $key => $persoon) {
echo '<option value="'. $persoon['email']. '" selected="selected">'. $persoon['voornaam']. ' '. $persoon['achternaam']. '</option>';
}
echo '</select>';
echo '<br /><button type="button" id="verwijderGeselecteerdPersoon">Verwijderen</button> <button type="button" id="allePersonenSelecteren">Selecteer alles</button>';
echo '<br /><span id="aantalGeselecteerdePersonen"></span>';
?>
</div>
<div class="clearfix"></div>
<div id="mailcontainer">
<input type="text" name="onderwerp" value="Onderwerp">
<textarea name="tekst"></textarea>
<div class="clearfix"></div>
<input type="submit" name="mailen" value="Mailen">
</div>
</form>
</div>
<div id="footer">
</div>
<script>
$( document ).ready( function() {
$( '#verwijderGeselecteerdPersoon' ).click( function( event ) {
$("#wie option:selected").remove();
$( '#aantalGeselecteerdePersonen' ).html( '' );
});
$( '#allePersonenSelecteren' ).click( function( event ) {
$('#wie option').prop('selected', true);
$( '#aantalGeselecteerdePersonen' ).html( 'Aantal geselecteerd: ' + $("#wie :selected").length );
});
$( '#wie' ).on('change', function() {
$( '#aantalGeselecteerdePersonen' ).html( 'Aantal geselecteerd: ' + $("#wie :selected").length );
});
});
</script>
</body>
</html>
Gewijzigd op 18/03/2014 14:35:19 door Michael -
Ik heb toevallig vanochtend ook alles met inspringingen zitten maken.
Ik ga eens kijken of ik hier uit kan halen wat ik nodig heb.
Ik zie iniedergeval dat van die knoppen in Javascript, dus daar kan ik al mee vooruit.
Ik laat me wel weer horen als ik er niet uit kom.