[PHP][MYSQL]Variabelen uit form in een MySQLtekst weergeven

Pagina: 1
Acties:

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
Even een vrij eenvoudig vraagje voor jullie denk ik, maar ik kom er niet uit.
Ik heb een soort van standaardbrievensysteem waar mensen bepaalde velden vanuit een form in kunnen vullen en als ze dan op maak brief drukken moeten er een nieuwe pagina geladen worden met de ingevulde gegevens in de brief. Nou lukt dit wel als ik het gewoon plat in php schrijf met het commando
PHP:
1
 <?php echo $_POST['waarde'] ?> 
maar als ik dit stukje kopieer naar mijn database en het later weer terug haal worden de velden niet ingevuld. Dus hij laat de tekst zien, maar niet de variabelen die ik gestuurd heb. Hoe doe ik dit nu?

Verwijderd

Post ff wt meer code. dit is te weinig om er iet zinnigs over te zeggen

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Als ik het goed begrijp wil je de brief zonder ingevulde variabelen in de DB zetten, en ze vervolgens met ingevulde variabelen versturen?

De meest ranzige optie is eval()... Gebruik die niet!
Een betere optie is te werken met variabelen: In de database zet je teksten als
Geachte [naam]

met vriendelijke groet
[auteur]
Vervolgens vervang je die variabelen met str_replace() en doe je er mee wat je wilt.

Localhost, sweet localhost


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

je bent op zoek naar iets heeeel vies, en dat is je programmacode opslaan in de database. Er zijn wel trucs voor, maar die raad ik je ten zeeerste af!

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
ok

dit is het form

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
<form action="ontruiming.php" method="get">
  <table width="200">
    <tr>
      <td><label>
        <input type="radio" name="Geslacht" value="Heer">
        Heer</label></td>
    </tr>
    <tr>
      <td><label>
        <input type="radio" name="Geslacht" value="Mevrouw">
        Mevrouw</label></td>
    </tr>
  </table>
  Naam: 
    <input type="text" name="Naam">
    <br>
    Datum ontruiming: 
    <input type="text" name="Datum">
    <br>
    Tijdstip ontruiming: 
    <input type="text" name="Tijd">
    <br>
    Naam manager interne bedrijfsvoering: 
    <input type="text" name="Manager">
  
  <p>
    <input type="submit" name="Submit" value="Maak brief">
  </p>
</form>


**********************************************
En dit is de resultatenpagina (ff niet op ID letten bovenin):

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
<?php require_once('Connections/Mysql.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($HTTP_GET_VARS['id'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id'] : addslashes($HTTP_GET_VARS['id']);
}
mysql_select_db($database_Mysql, $Mysql);
$query_Recordset1 = sprintf("SELECT * FROM nucleus_standaardbrief WHERE id = %s ORDER BY id DESC", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $Mysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><?php echo $row_Recordset1['brieven']; ?> </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>


************************************************************
Dit is de inhoud van de database:
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
39
40
41
42
43
44
<p>Brief aanzegging ontruiming, vervangt 31</p>
<p>Geachte 
  <?php
    echo $_POST['Geslacht'];
?>
  <?php
    echo $_POST['Naam'];
?>
  ,</p>
<p>De rechter heeft op 
  <?php
    echo $_POST['Datum'];
?>
  bij vonnis uw huurovereenkomst met ***** be&euml;indigd. In verband hiermee wordt 
  de woning uiterlijk 
  <?php
    echo $_POST['Datum'];
?>
  geheel ontruimd. </p>
<p>Wij adviseren u de woning voor die datum leeg aan **** op te leveren. Dit voorkomt 
  extra kosten. Wanneer u dit niet doet, ontruimt de deurwaarder uw woning op 
  <?php
    echo $_POST['Datum'];
?>
  om 
  <?php
    echo $_POST['Tijd'];
?>
  . De kosten van de ontruiming brengen wij bij u in rekening. </p>
<p>**** stelt u op voorhand aansprakelijk voor alle gebreken aan de woning die 
  na de ontruiming worden geconstateerd. **** laat die gebreken herstellen en stelt 
  u aansprakelijk voor de kosten daarvan. De huur van de woning wordt doorberekend 
  tot en met de datum van de ontruiming.</p>
<p>Om er zeker van te zijn dat deze brief u bereikt, sturen wij de brief zowel 
  aangetekend als per gewone post.</p>
<p>Hoogachtend,</p>
<p></p>
<p><br>
  <?php
    echo $_POST['Manager'];
?>
  <br>
  Manager interne bedrijfsvoering<br>
</p>

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
Ok tnx...ik ga ff wat proberen met de tips

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
Ik kom er nog niet helemaal uit (nOOb )
Zou je iets van een klein voorbeeldje willen geven?
Alvast bedankt

  • Stilgar
  • Registratie: Maart 2002
  • Niet online
Ik denk dat je moet gaan kijken naar een oplossing met templates. Je wil eigenlijk proberen te vermijden dat je code opslaat in de database en die later uitvoert.

De beste oplossing is om in je brief alle velden te vervangen met een soort variabelen. In de code hieronder heb ik hiervoor ##veldnaam## gebruikt, waarin veldnaam de naam van de input in het formulier is.

Vervolgens lees je deze brief met 'variabelen' in in je php, en vervang je de variabelen met de waarden uit het formulier.

Ik denk dat het geheel er dan ongeveer zo uit komt te zien. Ik heb de code niet getest, maar ik denk dat het zo zou moeten werken:

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
<?php require_once('Connections/Mysql.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($HTTP_GET_VARS['id'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id'] : addslashes($HTTP_GET_VARS['id']);
}
mysql_select_db($database_Mysql, $Mysql);
$query_Recordset1 = sprintf("SELECT * FROM nucleus_standaardbrief WHERE id = %s ORDER BY id DESC", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $Mysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

// Hier vervangen we alle ##veldnaam## teksten door de echte waarden 
// uit het formulier.
$brief=$row_Recordset1["brieven"];
while (list($key, $val)=each($_POST)) {
   $brief=str_replace("##".$key."##", $val, $brief);
}

?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><?php echo $brief; ?> </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?> 



brief in de database:

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
<p>Brief aanzegging ontruiming, vervangt 31</p>
<p>Geachte ##Geslacht## ##Naam##
  ,</p>
<p>De rechter heeft op 
  ##Datum##
  bij vonnis uw huurovereenkomst met ***** be&euml;indigd. In verband hiermee wordt 
  de woning uiterlijk 
  ##Datum##
  geheel ontruimd. </p>
<p>Wij adviseren u de woning voor die datum leeg aan **** op te leveren. Dit voorkomt 
  extra kosten. Wanneer u dit niet doet, ontruimt de deurwaarder uw woning op 
  ##Datum##
  om 
  ##Tijd##
  . De kosten van de ontruiming brengen wij bij u in rekening. </p>
<p>**** stelt u op voorhand aansprakelijk voor alle gebreken aan de woning die 
  na de ontruiming worden geconstateerd. **** laat die gebreken herstellen en stelt 
  u aansprakelijk voor de kosten daarvan. De huur van de woning wordt doorberekend 
  tot en met de datum van de ontruiming.</p>
<p>Om er zeker van te zijn dat deze brief u bereikt, sturen wij de brief zowel 
  aangetekend als per gewone post.</p>
<p>Hoogachtend,</p>
<p></p>
<p><br>
  ##Manager##
  <br>
  Manager interne bedrijfsvoering<br>
</p>


edit:
puntkomma vergeten:)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

En nu nog dat vreselijk rare verschijnsel van die quickstart, waarin staat dat je even duidelijk uit moet leggen wat je geprobeerd hebt, waarom je denkt dat 't fout gaat etc.

GoT is geen helpdesk, zo je weet nu je dit leest, en voortaan ook onthoudt

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
Tnx Stilgar...dit is wat ik zocht!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 04-08 11:16
En nu nog dat vreselijk rare verschijnsel van die quickstart, waarin staat dat je even duidelijk uit moet leggen wat je geprobeerd hebt, waarom je denkt dat 't fout gaat etc.

GoT is geen helpdesk, zo je weet nu je dit leest, en voortaan ook onthoudt
Hier wordt ik zo moe van...je ziet toch dat er ook mensen zijn die me geholpen hebben met dit probleem? What's the problem m8?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

scottpws:
Hier wordt ik zo moe van...je ziet toch dat er ook mensen zijn die me geholpen hebben met dit probleem? What's the problem m8?


Ik wordt moe van mensen die constant gebruik willen maken van de goede wil van wat mensen hier. Ik hielp mensen ook altijd graag aan een scriptje, maar 't probleem is dat je daar niets van leert. En zolang de gebruikers hier niets willen leren, maar enkel vragen stellen zodat andere mensen "wel ff een scrippie voor ze bouwt", zal 't niveau er nooit beter op worden. Niet dat ik nu baal van 't niveau, maar wel van dit soort topics. Over het algemeen spreekt er luiheid uit. nofi ofcourse :) Gevolg is dus dat 't een Q/A, Helpdesk-achtig forum wordt. En dat is nooit de intentie geweest.

Mocht je hier over door willen discussieren verzoek ik je even een topic te openen in Lieve Adjes, en aan dit topic te refereren :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1