Ik ben sinds gisteren aan knutslen om
1 mail binnen te krijgen
en dat hij alles netjes weg
schrijf naar archief2

zou iemand mijn kunnen vertellen
hoe ik hiervan een mail binnen krijg krijg er nou 2
en geen foutcodes meer op de website
<!DOCTYPE html>
<html>
<head>
<title>Combigoods - Afspraak</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="page-container">
<div id="content">
<header>
<img src="images/combigoodslogo.png" style="margin-top: 20px;" alt="logo" />
<h1 style="position: relative; display:inline; padding-left: 50px; bottom: 20px;">Afspraak</h1>
</header>
<script src="lib/jquery/jquery-1.8.3.min.js"></script>





</head>

<body>
<header>
<h1>afspraak</h1>
</header>

<h2>Christiaan van Engen</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$db_host = "lxxx";
$db_username = "xxx";
$db_pass = "uxxx";
$db_name = "administratie";

mysql_connect ("$db_host","$db_username","$db_pass") or die ("Kon niet verbinden met de MySQL database");
mysql_select_db ("$db_name") or die ("Geen database gevonden");

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'Christiaan van Engen'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th>";
echo "</tr>";
}
}
?>

</table>

<h2>Roeland van Engen</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'Roeland van Engen'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th></tr>";
}
}

?>
</table>

<h2>Saskia van Engen</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'Saskia van Engen'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th></tr>";
}
}

?>
</table>

<h2>Jan de Wit</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'Jan de Wit'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th></tr>";
}
}

?>
</table>

<h2>John Breedveld</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'John Breedveld'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th></tr>";
}
}

?>
</table>

<h2>Receptie</h2>
<table border='1'>
<tr>
<th>Naam:</th>
<th>Datum:</th>
<th>Tijd:</th>
<th>afspraak:</th>
</tr>

<?php

$result = mysql_query("SELECT * FROM ASPRAKEN WHERE WIE = 'Receptie'");

while($row = mysql_fetch_array($result)) {
if (!empty($row['wie'])) {
echo "<tr>";
echo "<th>".$row['Naam']."</th>";
echo "<th>".$row['Datum']."</th>";
echo "<th>".$row['tijd']."</th>";
echo "<th>".$row['Afspraak']."</th></tr>";

}
}

?>
</table>

<br>

<form method="post">
Door wie : <select id="wie" name="wie">
<option value="Christiaan van Engen">Christiaan van Engen</option>
<option value="Roeland van Engen">Roeland van Engen</option>
<option value="Saskia van Engen">Saskia van Engen</option>
<option value="Jan de Wit">Jan de Wit</option>
<option value="John Breedveld">John Breedveld</option>
<option value="Receptie">Receptie</option>
</select><br>
Naam:
<?php
$result = mysql_query("SELECT * FROM WERKNEMERS");
echo "<select name='naam'>";

while ($row = mysql_fetch_array($result)) {
echo "<option value='".$row['Naam']."'>".$row['Naam']."</option>";
}
echo "</select>";
?>
<div id="Datum">Datum: <input name="datum" type="date" /></div>
<div id="tijd">Tijd: <input name="tijd" type="time" /></div>
<div id="Afspraak">Afspraak: <input name="afspraak" type="text" /></div>
<input name="submit" type='submit' value="Verzenden" />
</form>
<?php
if (isset($_POST['submit'])) {

$wie = $_POST['wie'];
$naam = $_POST['naam'];
$datum = $_POST['datum'];
$tijd = $_POST['tijd'];
$afspraak = $_POST['afspraak'];

if ($_POST['wie'] == "Christiaan van Engen") {
mysql_query("INSERT INTO ASPRAKEN(wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Roeland van Engen") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Saskia van Engen") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Jan de Wit") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "John Breedveld") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Receptie") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
}
echo "<script>window.location = 'afspraak.php';</script>";
$result = mysql_query("SELECT * FROM WIE");
}
$result = mysql_query("SELECT * FROM ASPRAKEN ORDER BY WIE");

ob_start();
echo "<table border='1'>";
echo "<th>wie</th>";
echo "<th>Naam</th>";
echo "<th>Datum</th>";
echo "<th>tijd</th>";
echo "<th>Afspraak</th>";
while ($row = mysql_fetch_array($result)) {
echo "<tr><td>".$row['wie']."</td>";
echo "<td>".$row['Naam']."</td>";
echo "<td>".$row['Datum']."</td>";
echo "<td>".$row['tijd']."</td>";
echo "<td>".$row['Afspraak']."</td>";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
}
echo "</table>";
$bericht = ob_get_contents();
ob_end_clean();


mail('[email protected]', 'Combigoods - Afspraken', $bericht, $headers);
$result = mysql_query("SELECT * FROM aspraken");
while ($row = mysql_fetch_array($result)) {
mysql_query("INSERT IGNORE INTO archief2 SELECT * FROM aspraken");
mysql_query("DELETE FROM ASPRAKEN");
}

?>
<footer>
<p>
&copy; Copyright by Ciske de Rat
</p>
</footer>
</body>
</html>


[size=xsmall]Toevoeging op 09/12/2012 11:47:35:[/size]

ik hbe mijn vermoeden dat de fout onderste gedeelte zit bij regel 41 tot 46
regel 56
wanneer ik regel 58 tot 61 toe past komen mijn mail er nog vreemde er uit te zien
Je krijgt waarschijnlijk twee emails binnen omdat je niet je mail functie aanroept binnen een POST request, maar gewoon altijd. Oftewel zodra je pagina geladen wordt, wordt er al een email verstuurd, en als je op de knop Verzenden drukt, wordt hij gewoon opnieuw verstuurd.
notmosse hoe zou script er anders moeten uit zien


[size=xsmall]Toevoeging op 09/12/2012 12:04:31:[/size]

notmosse hoe zou script er anders moeten uit zien
Pas een email versturen als er op de submit knop gedrukt is. Heb je dit script zelf geschreven?
[offtopic]
Ten eerste moet ik aangeven dat jou script een lekker doelwit is voor hackers!
[/offtopic]

Verder zou ik even goede foutafhandelingen inbouwen geen OR DIE gebruiken want jij gaat ook niet dood als je iets fout doet, tevens vind je ook de fout veel sneller als er iets gebeurt ( 2 vliegen in 1 klap )

waarom je alles in tabellen hebt gestopt snap ik ook niet, en plaats voortaan alleen relevante code a.u.b. niet de broncode van je hele website...

dit soort dingen zijn overbodig behalve als je die variabele echt vaker nodig hebt op eenzelfde pagina.. maar dat betwijfel ik..
<?php
$wie = $_POST['wie'];
$naam = $_POST['naam'];
$datum = $_POST['datum'];
$tijd = $_POST['tijd'];
$afspraak = $_POST['afspraak'];
?>

en je controleert of iemand een submit heeft gedaan met

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// hier alle code die uitgevoerd moet worden nadat op knopje is gedrukt.. ( dus verzend mail )
}
?>

neem deze tutorial is door misschien steek je er een en ander van op :)

http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/
ja zelf samen met een maatje waarom hackers gevoelig dit wordt niet een openbare site dit wordt intern gebruikt alls alles goed draait maar ik heb het probleemgevonden bleek teken } stond verkeerd waar door hij een 2de mail stuurde
Zou je graag leestekens in je bericht willen gebruiken?
Als we toch tips aan het geven zijn.....

1) voor elke persoon doe je nu precies hetzelfde, inclusief query bouwen, uitvoeren, tabelletje printen. Normaal gesproken zou je dat natuurlijk in een loop doen, zodat je maar 1 query hoeft uit te voeren (en niet 6 zoals in jouw geval) en het scheelt je pakweg 200 regels code.
2) de <th> tag ALLEEN bedoeld voor de tableheader rij, niet voor elke rij.
3) volgens mij zou je tabel naam 'afspraken' moeten zijn en niet 'aspraken'. De database zal het worst wezen, als noem je de tabel 'sdfdftewrxcvs', maar voor programmeurs is 'afspraken' natuurlijk wat logischer dan 'aspraken'. Scheelt jou, of je opvolger later.
4) het nu van de if statements ontgaat me hier volledig:
<?php
if ($_POST['wie'] == "Christiaan van Engen") {
mysql_query("INSERT INTO ASPRAKEN(wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Roeland van Engen") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Saskia van Engen") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Jan de Wit") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "John Breedveld") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
} elseif ($_POST['wie'] == "Receptie") {
mysql_query("INSERT INTO ASPRAKEN (wie, Naam, Datum, tijd, Afspraak)
VALUES ('$wie', '$naam', '$datum', '$tijd', '$afspraak')");
}
?>
Je voert namelijk elke keer alsnog gewoon dezelfde query uit. Gooi die ifs dan weg, of, check het allemaal in 1 if.
5) Nog een stuk code waarvan de logica mij volledig ontgaat:
<?php
$result = mysql_query("SELECT * FROM aspraken");
while ($row = mysql_fetch_array($result)) {
mysql_query("INSERT IGNORE INTO archief2 SELECT * FROM aspraken");
mysql_query("DELETE FROM ASPRAKEN");
}
?>
Dus je selecteert alle rijen en voor elke rij uit de resultset copieer je ALLE afspraken naar het archief... dus als er 10 rijen in staan, copieer je 10 rijen, maar dan wel 10 keer (behalve dan dat alle rijen er na de 1e keer uit zijn en je de andere 9 dus voor jan met de korte achternaam doet)? Sorry, misschien ben ik gek, maar dit slaat volgens mij helemaal nergens op.

Mijn advies zou zijn om het nog een keer te proberen.... maar dan wel met driekwart minder code.
Sorry ik ben een beginnenling in php.
Fouten maken is menselijk,daarvoor zijn we mensen
sorry ik heb alleen een basis school gehad entaal probleem. (met punten en comma's)
Ik probeer juist een stuk script waar ik fout in gemaakt heb te vragen maar.
Sommige dingen zijn mijn niet helemaal duidelijk wat betreft de mogelijkheden.
Ik haal veel code taal weg via websites om te kijken en te leren om iets werkendte krijgen.
Dat daar gelijk op wordt gerageerd dat zo lek als een mandje is wist ik niet
Beveiling in een later stadium word het script voor zien van een een beveiling,
met inlog protection betreft op alle pagina en verder wordt project intern gebruikt
Nee, zo werkt het niet. Beveiliging moet gemaakt worden terwijl je aan het scripten bent en niet in een later stadium
Beste mensen,

Het doel van het hele systeem is dat het gebruikt gaat worden binnen een bedrijf, dus intern. Niemand zal dus extern toegang hebben tot het systeem, dat wilt nog niet wegnemen dat het niet beveiligd moet worden, hierop zullen we ons zeker ook nog gaan richten. De medewerkers hebben echter geen kennis van web(ontwikkeling) en kunnen hierdoor geen kwade dingen uitvoeren, het systeem gaat gebruikt worden door 3 tot ongeveer 8 mensen. De ontwikkeling (scripting) wordt gedaan door John en mij.

Verder vind ik het niet toepasselijk om iemand te beoordelen op zijn (taal)fouten, ieder persoon moet leren van zijn fouten die hij of zij gemaakt heeft, en jullie zijn ervoor om iemand te ondersteunen en te helpen.

Hoop dat er wat duidelijkheid zit in doel van het systeem, en mochten er nog onduidelijkheden zijn, dan hoor ik deze graag.

Reageren