Jump to content
Geplaatst:
comment_308222

He allemaal,

Ik ben bezig met een contact script in php wat ondertussen werkt. Maar ik zet met 1 probleempje als hij hem verzonden heeft en je telkens op refresh drukt blijft hij mailtjes versturen.

En dat is dus niet de bedoeling.

Dit is het formulier:

<form name="contact" method="post" action="send.php">
<table cellspacing="2" cellpadding="2">
 <tr valign="top" align="left">
<td> Naam:</td>
<td>
<input  name="naam" type="text" size="25"/>
</td>
</tr>
<tr valign="top" align="left">
<td>Email: </td>
<td>
<input name="mail" type="text" size="25" /></td>
</tr>
<tr valign="top" align="left">
<td>Onderwerp: </td>
<td>
<input name="onderwerp" type="text" size="25"  /></td>
</tr>
<tr valign="top" align="left">
<td>Bericht: </td>
<td><textarea name="bericht" rows="7" cols="40" /></textarea></td>
</tr>
<tr valign="top" align="left"> 
  <td> </td> 
  <td> 
	<input type="submit" name="Submit" value="Verzend"> 
  </td> 
</tr>
</table>
</form>

En dit is het verzend script:

<?php

$mailsupport= "mij@mail.nl";
$titel= "Support Ticket Contact -" . $_POST['onderwerp'];
// set datum 
$datum = date("d.m.Y H:i"); 
// set ip 
$ip = $_SERVER['REMOTE_ADDR']; 
// Bericht
$mssg = 
$mssg .= "Ingevuld Contact Formulier \n\n";
$mssg .= "Naam: " .$_POST['naam'] . "\n";
$mssg .= "Mail Adres: " .$_POST['mail'] . "\n";
$mssg .= "Onderwerp: " .$_POST['onderwerp'] . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= $_POST['bericht'] . "\n" . "\n";
$mssg .= "Dit bericht is verstuurd op $datum van het ip adres " . $ip . ".";
//Afzender
$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">"; 

if ($_SERVER['REQUEST_METHOD'] == 'POST'){

if (empty($naam)) { echo "U bent iets vergeten in te vullen !!<br> 
Klik <a href=\"java script:history.back(1)\">hier</a> om terug tegaan."; 
} elseif (empty($mail))  { echo "U bent iets vergeten in te vullen !!!<br> 
Klik <a href=\"java script:history.back(1)\">hier</a> om terug tegaan."; 
} elseif (empty($onderwerp)) { echo "U bent iets vergeten in te vullen !!!<br> 
Klik <a href=\"java script:history.back(1)\">hier</a> om terug tegaan."; 
} elseif (empty($bericht)) { echo "U bent iets vergeten in te vullen !!!<br> 
Klik <a href=\"java script:history.back(1)\">hier</a> om terug tegaan."; 
} else { 

mail ($mailsupport, $titel, $mssg, $headers);
echo "Je bericht is verstuurd";
}
}
?>

Graag hulp.

  • Reacties 62
  • Bezichtigingen 19.2k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
comment_712813

HOi!

Ik heb een script:

<html>
<head><title>Upload een bestand</title></head>
<body>

<p>Je kunt de <b>naam om up te loaden leeg laten</b>. Dan wordt de naam zoals het bestand om het moment zelf heet.</p>

<form enctype="multipart/form-data" action="upload.php" method="post"> 
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="51200" /> 
Selecteer een bestand: <input name="userfile" type="file"><br />
Naam om up te loaden: <input name="newname" type="text"><br />
<input type="submit" value="upload bestand" />
</p>
</form>

</body>
</html>

En dit script moet ik uploadbestand.php noemen. Dat deed ik.

Ik heb nog een ander script:

(dit hoort bij het vorige)

<?  
global $_FILES; 

$filename = $_FILES['userfile']['name'];  

$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
// $allow[3] = "exe"; enz.

if ($_POST["newname"]) 
$uploadname = $_POST['newname']; 
else 
$uploadname = $_FILES['userfile']['name'];

$extentie = substr($uploadname, -3);

for ($i = 0; $i < count($allow); $i++)
{
if ($extentie == $allow[$i])
{
	$extentie_check = "ok";
	$i = count($allow) + 5; // om loop te beindigen
}
}

if ($extentie_check)
{
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {  
	move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname);  

	echo "Het bestand is geupload onder de naam: $uploadname"; 
}
}
else
{
echo "Jij bent stout! Mag niet hoor!";
}  
?>

En dit bestand moest ik upload.php noemen. Dat deed ik. Er stond ook dat ik een map in mijn directory moest aanmaken die ik uploads moest noemen en gechmod met 777 worden. Dat deed ik ook. Nu load ik dat op naar mijn host op freehostia en probeer ik wat te uploaden. Ik load iets op, en dan komt ik op een lege pagina terecht. En als ik dan ga kijken in mijn uploads dan staat hij er niet bij. Wat moet ik doen?

Geplaatst:
comment_714438
HOi!

Ik heb een script:

...

En dit script moet ik uploadbestand.php noemen. Dat deed ik.

Ik heb nog een ander script:

(dit hoort bij het vorige)

...

En dit bestand moest ik upload.php noemen. Dat deed ik. Er stond ook dat ik een map in mijn directory moest aanmaken die ik uploads moest noemen en gechmod met 777 worden. Dat deed ik ook. Nu load ik dat op naar mijn host op freehostia en probeer ik wat te uploaden. Ik load iets op, en dan komt ik op een lege pagina terecht. En als ik dan ga kijken in mijn uploads dan staat hij er niet bij. Wat moet ik doen?

Ik heb je script niet helemaal nagelezen maar het eerste waar mijn oog op valt is dit stukje code:

 if ($_POST["newname"]) 
   $uploadname = $_POST['newname']; 
  else 
   $uploadname = $_FILES['userfile']['name'];

Verander dat is in:

 if ($_POST["newname"]) {
	$uploadname = $_POST['newname']; 
 }
else 
 {
	$uploadname = $_FILES['userfile']['name'];
 }

Sommige configuraties laten het niet toe zonder accolades te werken waardoor je lege paginas kan krijgen als error_reporting op 0 staat.

Bewerkt: door Argon

  • 1 maand later...
Geplaatst:
comment_747888
Ik ben sinds kort bezig met php 5 en weet niet wat loops zijn, kan iemand mij dat uitleggen ?

Alvast bedankt

Een loop (lus) is een bepaald gedeelte dat wordt herhaald en herhaald totdat een voorwaarde is bereikt. Er zijn verschillende soorten loops:

while()

for()

foreach()

do while()

Zorg dat je goed aangeeft wat de voorwaarde is, anders blijft iets de hele tijd doorgaan en dat kan gekke taferelen opleveren...

Geplaatst:
comment_747904
Ik ben sinds kort bezig met php 5 en weet niet wat loops zijn, kan iemand mij dat uitleggen ?

Alvast bedankt

Een loop (lus) is een bepaald gedeelte dat wordt herhaald en herhaald totdat een voorwaarde is bereikt. Er zijn verschillende soorten loops:

while()

for()

foreach()

do while()

Zorg dat je goed aangeeft wat de voorwaarde is, anders blijft iets de hele tijd doorgaan en dat kan gekke taferelen opleveren...

Hier wil ik nog even wat aan toevoegen... :puh:

while (voorwaarde) instructie, betekent dus zolang de voorwaarde true is wordt de instructie herhaald, word de voorwaarde false niet meer dus... Even een klein voorbeeldje in C++:

while (!exiting) {
//Game loop

if (GameFinished) {
	exiting = true;
}

for (initialisatie; voorwaarde; nabewerking) instructie, betekent dus dat de instructie herhaald word zolang de voorwaarde true is, de nabewerking word elke keer als de lus afgelopen is (en dus overnieuw begint) uitgevoerd...

for (int index = 1; index <= 5; index++) {
cout << index << endl; // Toon de waarde van index in de console
}

Nu krijg je dus:

1

2

3

4

5

do

instructie

while (voorwaarde), betekent hetzelfde als de while lus, alleen het verschil is dat de voorwaarde pas op het einde word gecheckt, hierdoor word de instructie altijd tenminste één keer uitgevoerd zelfs als de voorwaarde false is...

do {
int waarde = 1;
} while (waarde < 1);

Ookal is de voorwaarde false, toch word de lus 1x uitgevoerd...

Alle code is geschreven in C/C++ maar het is ook goed bruikbaar als je wilt snappen wat lussen zijn. :puh:

Geplaatst:
comment_752122

Thanx (Jeeh wat zeg ik dat toch veel, wat zijn de leden toch behulpzaam :cya: )

Ik ben deze hulp nog niet ik men 607 pagina's dikke boek(je) tegen gekomen (ook al in het register gekeken)

En die loops dienen voor wat ?

Geplaatst:
comment_754183
Thanx (Jeeh wat zeg ik dat toch veel, wat zijn de leden toch behulpzaam :cya: )

Ik ben deze hulp nog niet ik men 607 pagina's dikke boek(je) tegen gekomen (ook al in het register gekeken)

En die loops dienen voor wat ?

Loops kan je echt voor alles gebruiken bijvoorbeeld om alle leden te tonen uit je database

// Dit geeft alle rijen die de query returned weer bijvoorbeeld
while($var = mysql_fetch_array($query))
{
echo $var['col'];
}

Je kan dit ook gewoon gebruiken om dingen als verschillende jaren te tonen

// Toon paar jaren
for($i = 2000; $i < 2010; $i++)
{
echo $i;
}

Dit geeft dus 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 terug. En ga zo maar door met voorbeeldjes wat je met loops kan doen... :Y

  • 2 maanden later...
Geplaatst:
comment_816185

Weet er iemand hoe je van een link van een afbeelding een link kan maken zodat hij hem download in plaats van bekijkt !

VB: www.website.com/afbeelding.gif

Als je dit nu in je browser zou typen dan zal hij het in je browser bekijken maar kan je in de link niets wijzigen zodat hij het download in plaats van bekijkt in je browser ?

Ik werk met HTML en PHP.

Geplaatst:
comment_816201

Je zal naar mijn weten het beste iets doen met .htaccess. Je kan dus een map maken met alle afbeeldingen die gedownload moeten worden. En in die map zet je het volgende in een .htaccess bestand:

AddType application/octet-stream jpg

Dit laat alle jpg bestanden downloaden als je wilt dat het voor meerdere types geldt doe je het op deze manier

AddType application/octet-stream jpg
AddType application/octet-stream png

Geplaatst:
comment_816210
Je zal naar mijn weten het beste iets doen met .htaccess. Je kan dus een map maken met alle afbeeldingen die gedownload moeten worden. En in die map zet je het volgende in een .htaccess bestand:

AddType application/octet-stream jpg

Dit laat alle jpg bestanden downloaden als je wilt dat het voor meerdere types geldt doe je het op deze manier

AddType application/octet-stream jpg
AddType application/octet-stream png

Bedankt voor je snelle reactie ! Geld dit alleen voor afbeeldingen of voor alle bestanden ?

EDIT: Zou het ook kunnen om een folder te downloaden ?

Bewerkt: door Woetsha

Geplaatst:
comment_816241

Dit geld voor alle bestandstypes, zelfs voor PHP. Je moet de extentie gewoon achteraan de regel zetten zelfs de extentie "arg" (ter plekken uitgevonden) zou je zo kunnen downloaden als je en programma had dat ze kon bekijken. En met een hele directory gaat dit niet dan zal je een gecomprimeerd bestand moeten maken (.rar, .zip, ...).

Geplaatst:
comment_816244
Dit geld voor alle bestandstypes, zelfs voor PHP. Je moet de extentie gewoon achteraan de regel zetten zelfs de extentie "arg" (ter plekken uitgevonden) zou je zo kunnen downloaden als je en programma had dat ze kon bekijken. En met een hele directory gaat dit niet dan zal je een gecomprimeerd bestand moeten maken (.rar, .zip, ...).
Bestaat er dan een extensie voor een folder ?

Moet ik misschien gewoon

AddType application/octet-stream

plaatsen zonder extensie.

EDIT: Ik heb het net even uitgetest en het werkt niet ! Als ik op dat php bestand druk dan kom ik er gewoon op in plaats van downloaden.

Heeft er iemand een andere manier ?

Bewerkt: door Woetsha

Geplaatst:
comment_816309

Nee als je zonder extentie typt dan doe je het gewoon voor alle extenties of krijg je gewoon niets denk ik. Een map is geen bestand dus dat kan je niet downloaden omdat een server een map niet als een bestand ofzo interpreteert je zou gewoon een rar kunnen maken. Eventueel zou je wel een dynamische zip kunnen maken van de map, maar dan moet je veel geheugen enzo hebben en dat heb je niet altijd bij elke host ik denk dat 15 Mb standaard is en dat je dus niet groter zal kunnen gaan. Maar voor meer informatie kan je hier even kijken over zo'n dynamische zip (maar ik raad je aan gewoon zelf een archief aan te maken van een map met winRar).

zlib (Engels)

Geplaatst:
comment_816331
Nee als je zonder extentie typt dan doe je het gewoon voor alle extenties of krijg je gewoon niets denk ik. Een map is geen bestand dus dat kan je niet downloaden omdat een server een map niet als een bestand ofzo interpreteert je zou gewoon een rar kunnen maken. Eventueel zou je wel een dynamische zip kunnen maken van de map, maar dan moet je veel geheugen enzo hebben en dat heb je niet altijd bij elke host ik denk dat 15 Mb standaard is en dat je dus niet groter zal kunnen gaan. Maar voor meer informatie kan je hier even kijken over zo'n dynamische zip (maar ik raad je aan gewoon zelf een archief aan te maken van een map met winRar).

zlib (Engels)

Ik weet eigenlijk niet wat ik verkeerd doe. Mijn host accepteerd .htaccess extensies en in mijn .htacces bestand staat het volgende
AddType application/octet-stream php
AddType application/octet-stream mp3
AddType application/octet-stream htm
AddType application/octet-stream exe
AddType application/octet-stream gif
AddType application/octet-stream png
AddType application/octet-stream jpg
AddType application/octet-stream bmp

Ik zet het .htacces bestand in het folder "downloads" ik upload een png-afbeelding en dan krijg ik het gewoon te zien in mijn browser als ik op de link druk www.website.com/downloads/afbeelding.png. Ik gebruik IE7 !

Gast
Dit onderwerp is gesloten.

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.