Hallo

Ik ben een mail script aant maken. het mailen gaat goed nu alleen de input ervan nog.

Het is de bedoeling dat er een tabel weergegeven word en dan onderaan een knop verzenden komt te staan.

Nu wil ik weten hoe kan ik die output tabel (want die word dmv een query die daar plaats vind gegenereerd) een unieke waarde geven (net als een <textarea name"test"> en dan in de mail opnemen als $output = $_post['test']) en zo mee versturen met de goede tabel opmaak??

hieronder de code
-----------------------

<?php

if(isset($_POST['submit'])){

$plainoutput = "bla bla bla";
$htmloutput = "$_POST['test'];";

$email = "[email protected]";
$subject = "Onderwerp";

//HEADER
$header = "From: electronics <[email protected]>\n";

//BOUNDARY GENEREREN
$boundary = "==String_Boundary_x" .md5(time()). "x";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/alternative;\n";
$header .= " boundary=\"$boundary\";\n\n";

// PLAIN
$message .= "--$boundary\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$message .= "$plainoutput\n\n";

// HTML
$message .= "--$boundary\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$message .= "$htmloutput\n\n";

$message .= "--$boundary--\n";

mail($email, $subject, $message, $header);
echo "$htmloutput";
}
else
{
?>
<form name="mailen" method="POST" action='mail.php'>
<body>

//// Hij zou de hele tabel moeten posten, en nu doet hij het textarea////

<table>
<tr>
<td background="images/Layout/table_top.gif"><p>Beschrijving:</p></td>
</tr>
<tr>
<td align="center" bgcolor="#3D98CF">
<textarea rows="5" name="test" cols="40"></textarea><br><br>
<input type="submit" value="submit" name="submit">
</td>
</tr>
</table>
<?php
}


?>
Een formulier post alleen data die in input velden (text, textarea, select, etc) staan. De opmaak van je mailbody, zul je dus tijdens het verwerken van het formulier moeten genereren aan de hand van de input uit het formulier.
Blanche

Is dat dan mogelijk om in

$output = "<?php hier genereren van tabellen dmv query's " ?> en dan zo die output mee te geven?

Als ik het goed begrijp wil je dat de hele tabel die je nu tussen de <form> tags hebt staan in het mailtje komt te staan?

Dan zul je bij het verwerken van het formulier deze tabel nogmaals op moeten bouwen en dan de waarden uit het formulier op de juiste plaats erin zetten. Uiteindelijk zal alles dus in de variabele $message moeten komen te staan.
ja zoiets

kijk je opent de pagina dan krijg je keuze
- openstaande fouten of afgesloten fouten
- en datum van tot

aan de hand daarvan genereerd hij een tabel op het scherm

en die tabel moet hij laten zien NOG NIET VERSTUREN (dit is om te controleren) en dan onderaan een knop mailen. En dan moet hij die tabel versturen. en de opmaak moet gewaarborgd blijven dus netjes in tabellen
Tja, op die pagina zou je de hele opmaak al in een sessievariabele kunnen zetten en die vervolgens gebruiken op de pagina waar je het mailtje verstuurt.
Ja hoe krijg je dat in een sessievar dan??

Want hij genereerd toch gewoon een rechttoe tabel op het moment dat je "ok" drukt bij die keuzes...
Ik zou het gewoon als volgt aanpakken:

Stap 1: Het formulier waarin je de keuze van het soort fout en een datum range aan kunt geven.

Stap 2: Verwerking van dat formulier waarbij je aan de hand van de input betreffende gegevens ophaalt uit de database. Voordat je deze op het scherm weergeeft, sla je ze op in een sessievariabele:
<?php
session_start();

// Query uitvoeren e.d.

$content = '<table>';
$content .= '<tr>';
$content .= ............

// Resultaten fetchen en aan $content toevoegen
while($row = mysql_fetch_assoc($result))
{
$content .= .......
}

$content .= '</tr>';
$content .= '</table>';

echo $content;
$_SESSION['content'] = $content;
?>
Zorg dat je in de variabele $content precies de data hebt staan zoals je het ook in het mailtje wilt hebben. Overige html kun je gewoon echoen op deze pagina.

Stap 3: Na bevestigen van bovenstaande, verstuur je het mailtje waarbij je de inhoud uit $_SESSION['content'] haalt.

Reageren