Toon posts:

[PHP & MYSQL] Overgaan naar ander script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel, ik heb de hieronderstaande code. Dit is een lijst van alle emailadressen uit een database. Er komt voor elk emailadres een checkbox met elke box een unieke naam.

Hoe kan ik het nu zo voor elkaar krijgen dat ik na een druk op de 'submit'-knop aan ALLE gecheckte emailadressen een mailtje via php stuur met het mail() commando... hoe dit commando werkt, dat weet ik wel.. ik wil alleen weten hoe ik dit aanroep, dus hoe geef ik mee aan email.php WELKE allemaal een mailtje moeten krijgen?
code:
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
<?

$dbhost =   "localhost";
$dbname =   "xxx";
$dbpw   =   "xxx";
$dbuser =   "xxx";
mysql_connect($dbhost, $dbuser, $dbpw);
mysql_select_db($dbname);

if (isset($email))
        {
        mysql_query("DELETE FROM email_list WHERE email = '$email'");
        }

$tekst  =   mysql_query("SELECT * FROM email_list");

echo("  <form action='email.php' method='post'>
        <table>");

        $counter = 1;
for ($i = 0; $i < mysql_num_rows($tekst); $i++)

        {
        $inhoud =   mysql_fetch_row($tekst);
        echo("<tr><td><input type=checkbox name=$counter></td>\n\t\t<td>$inhoud[0]</td><td>$inhoud[1]</td><td><a href=haaluit.php?email=$inhoud[1]>Verwijder</a></td></tr>");
        $counter++;
        }

echo("  <tr><td colspan=2><input type=submit value='Mail naar de geselecteerde mensen'></td></tr>
        </table>
        </form>");

if(mysql_num_rows($tekst) == 0)
        {
        echo("Geen result");
        }

?>

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Als je je checkboxes als volgt doet:
PHP:
1
2
3
<?
echo "<input type=\"checkbox\" name=\"lijst[".$inhoud[1]."]\">";
?>

Krijg je als het goed is in je volgende php-file een array met de naam $lijst. Als je hier vervolgens op de volgende manier doorheen gaat
PHP:
1
2
3
4
5
<?
foreach ($lijst as $key => $val) {
   //mail naar $key
}
?>

kun je je mail gedeelte uitvoeren..


Trouwens:

-Code uitlijnen is niet verboden, maar wel overzichtelijk
-HTML standaarden zijn er niet voor niks.. Het schijnt dat er om atributten in HTML tags " of ' moet.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Oke, hartstikke bedankt... dankudankudanku... die laatste twee opmerkingen, tjat.. ik weet het.. maar ik heb hier nu geen textpad voorhanden.. (dat gebruik ik meestal). daar werken die stomme tabs wel goed..

notpad en tab is nie wat

tata

Verwijderd

Topicstarter
code:
1
foreach ($lijst as $key => $val) {   echo("$key<br>");}

Maar stel dat deze array leeg is? Hoe laat ik dan een foutmelding verschijnen zonder daj een PHP fout krijg?

Verwijderd

Op zondag 20 januari 2002 12:34 schreef samba het volgende:
code:
1
foreach ($lijst as $key => $val) {   echo("$key<br>");}

Maar stel dat deze array leeg is? Hoe laat ik dan een foutmelding verschijnen zonder daj een PHP fout krijg?
check dan of de $key leeg is
PHP:
1
2
3
4
5
<?
if (($key == "") || ($key == NULL)) {
    die("Oops, deze waarde is leeg");
}
?>

hij stopt dan het volledige script bij de eerste lege waarde. Is dat wat je wil?

Verwijderd

Topicstarter
Als er niets geselecteerd is, dan moet er een fout komen op het scherm. Zoiets als: Er zijn geen emailadressen geselecteerd.

De check of $key "" OF NULL is werkt niet.. dan geeft ie elke keer de die("waarde"); Das dus niet goed.

Verwijderd

Topicstarter
Oke, laat maar.. keb het al.
ipv. $key moet het $lijst zijn..

mij dank is groot

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Beter nog... Doe
PHP:
1
2
3
4
5
6
7
<?
if (isarray($lijst)) {
  //email gedoe
} else {
  echo "Niks geselecteerd";
}
?>

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1