locaal script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marjolein Hermelink

Marjolein Hermelink

07/04/2011 14:11:10
Quote Anchor link
Hallo,
Ik ben een echte leek in php en hoop dat iemand mij kan helpen.
We maken een website met het programma Studio Webdesign. Voor een reactieformulier willen we een php script gebruiken. De host van de website support geen externe scriptbestanden. Ik wil dus werken met een lokaal script, maar krijg dit niet aan de praat..

Kan iemand mij op weg helpen in Jip en Janneke-taal?
Alvast enorm bedankt!
 
PHP hulp

PHP hulp

16/05/2021 10:50:48
 
Ozzie PHP

Ozzie PHP

07/04/2011 14:20:24
Quote Anchor link
Dag Marjolein, aangezien wij geen glazen bol hebben ;-) is het handig als je je script even post en als je uitlegt wat je bedoelt met dat je het niet aan de praat krijgt. Krijg je een foutmelding?
Gewijzigd op 07/04/2011 14:20:39 door Ozzie PHP
 
Marjolein Hermelink

Marjolein Hermelink

07/04/2011 14:34:43
Quote Anchor link
Beste Ozzie, bedankt voor je snelle reactie. Hier komt het. Ik heb inmiddels PHP gedownload op mijn computer (dat moet geloof ik toch?). Nu heb ik ergens een standaardscript vandaan gehaald die zal ik hieronder plakken. Wat er gebeurd is het volgende: ik maak een formulier in webdesign, daar kan ik kiezen voor lokaal script, dan voeg ik onderstaande code in als PHP bestand en plaats het formulier op de website. vervolgens als ik het formulier invul en verstuur springt mijn scherm over in de PHP code. geen foutmelding oid. Ik doe dus iets verkeerd. hoop dat je me kan helpen.

de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!

/*******************************
*        CONTACT FORMULIER                     *
*        contactformulier.php             *
*                                                             *
*        Author: Miranda Verburg         *
*        Datum: 10 september 2010     *
*                                                             *
*        Pas het e-mail adres aan     *
*        bij $mail_ontv en upload   *
*        het naar je webserver..         *
********************************/

// E-mailadres van de ontvanger

$mail_ontv = 'jouw@emailadres.nl'; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres

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

    // naam controle
    if (!preg_match('/[ a-zA-Z-]$/', $_POST['naam']))
        $naam_fout = 1;
    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // antiflood controle
    if (!empty($_SESSION['antiflood']))
    {

        $seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
        $tijd = time() - $_SESSION['antiflood'];
        if($tijd < $seconde)
            $antiflood = 1;
    }
}


// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{

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

        if (!empty($naam_fout))
            echo '<p>Uw naam mag alleen letters bevatten.</p>';
        elseif (!empty($email_fout))
            echo '<p>Uw e-mailadres is niet juist.</p>';
        elseif (!empty($antiflood))
            echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
        else
            echo '<p>U bent uw naam, e-mailadres, onderwerp of bericht vergeten in te vullen.</p>';
    }


  // HTML e-mail formlier
  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
  <p>

      <label for="naam">Naam:</label><br />
      <input type="text" id="naam" name="naam" value="'
. (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />

      <label for="mail">E-mailadres:</label><br />
      <input type="text" id="mail" name="mail" value="'
. (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />

      <label for="onderwerp">Onderwerp:</label><br />
      <input type="text" id="onderwerp" name="onderwerp" value="'
. (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />

      <label for="bericht">Bericht:</label><br />
      <textarea id="bericht" name="bericht" rows="8" style="width: 400px;">'
. (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />

      <input type="submit" name="submit" value=" Versturen " />
  </p>
  </form>'
;
}

// versturen naar
else
{
  // set datum
  $datum = date('d/m/Y H:i:s');

  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
  $inhoud_mail .= "===================================================\n\n";

  $inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
  $inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\n";
  $inhoud_mail .= "Bericht:\n";
  $inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";

  $inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

  $inhoud_mail .= "===================================================\n\n";

  // --------------------
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------


  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';

  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes

  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
  {

      // zorg ervoor dat dezelfde persoon niet kan spammen
      $_SESSION['antiflood'] = time();

      echo '<h1>Het contactformulier is verzonden</h1>

      <p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>'
;
  }

  else
  {
      echo '<h1>Het contactformulier is niet verzonden</h1>

      <p><b>Onze excuses.</b> Het contactformulier kon niet verzonden worden.</p>'
;
  }
}

?>
 
Mathias verbert

mathias verbert

07/04/2011 14:41:36
Quote Anchor link
welke fout krijg je?
 
Luuk Mulder

Luuk Mulder

07/04/2011 14:59:07
Quote Anchor link
Als PHP niet aanstaat krijg je de source van de php bestanden te zien
Gewijzigd op 07/04/2011 14:59:30 door Luuk Mulder
 
- Ariën -
Beheerder

- Ariën -

07/04/2011 15:18:42
Quote Anchor link
Quote:
De host van de website support geen externe scriptbestanden. Ik wil dus werken met een lokaal script, maar krijg dit niet aan de praat..

Is het niet raadzamer om PHP-ondersteuning bij je webhosting aan te vragen, of desnoods te verhuizen?
je kan wel zelf een webserver en PHP op je eigen computer installeren, maar die moet dan wel continu aan staan.
 
Kevin de Groot

Kevin de Groot

07/04/2011 17:20:07
Quote Anchor link
Ik wilde net zeggen wat -Aar- ook heeft gezegd, maar moet me er maar bij aansluiten. Het is handiger om een daadwerkelijke hosting aan te vragen. Deze ondersteunt (vrijwel) altijd PHP en dus kun je het meteen testen. Vaak zijn de standaard instellingen van je eigen "server" ook anders dan die van een provider. Dus of het erna nog werkt is ook nog maar de vraag. Je hebt al een hosting voor €29,00 p/jaar (3GB opslag en 60GB dataverkeer).
 
Marjolein Hermelink

Marjolein Hermelink

08/04/2011 08:43:02
Quote Anchor link
@aar en kevin: bedankt dat moeten intern maar eens overwegen. we hebben nu wel een host, hostnet, maar die doen er verder niks mee.

@Luuk: mss beetje domme vraag, maar hoe zet je PHP aan? zodat je de source niet meer ziet?

alvast bedankt!
 
Yearupie Achternaamloos

Yearupie Achternaamloos

08/04/2011 08:50:23
 

08/04/2011 09:03:04
Quote Anchor link
Gebruik dit script niet meer, het is slecht en onveilig!
 
- Ariën -
Beheerder

- Ariën -

08/04/2011 09:30:35
Quote Anchor link

Ik zou dit een leek niet aanbevelen om dit publiekelijk te draaien.
Een webserver beheren is al een vak apart, het is wel leuk voor je eigen, maar de veiligheid is van groot belang.

Voor zover ik kan zien ondersteunt Hostnet gewoon PHP.

Karl Karl op 08/04/2011 09:03:04:
Gebruik dit script niet meer, het is slecht en onveilig!

Karl, als je ook eens argumenten opnoemt, dan is ook meteen duidelijk waarom het onveilig is, en waarom het beter kan?
Voor zover ik zie is header injection al niet eens meer mogelijk.
Gewijzigd op 08/04/2011 09:42:44 door - Ariën -
 

09/04/2011 09:23:35
Quote Anchor link
- Aar - op 08/04/2011 09:30:35:
(...)

Karl Karl op 08/04/2011 09:03:04:
Gebruik dit script niet meer, het is slecht en onveilig!

Karl, als je ook eens argumenten opnoemt, dan is ook meteen duidelijk waarom het onveilig is, en waarom het beter kan?
Voor zover ik zie is header injection al niet eens meer mogelijk.


Mail injections zijn volgens mij nog gewoon mogelijk.
 
Jack Sierkstra

Jack Sierkstra

09/04/2011 09:35:10
Quote Anchor link
- Aar - op 07/04/2011 15:18:42:
Quote:
De host van de website support geen externe scriptbestanden. Ik wil dus werken met een lokaal script, maar krijg dit niet aan de praat..

Is het niet raadzamer om PHP-ondersteuning bij je webhosting aan te vragen, of desnoods te verhuizen?
je kan wel zelf een webserver en PHP op je eigen computer installeren, maar die moet dan wel continu aan staan.


Hoe wil je een lokaal script op je computer aan de buitenwereld tonen dan?
 

09/04/2011 09:39:47
Quote Anchor link
Jack Sierkstra op 09/04/2011 09:35:10:
- Aar - op 07/04/2011 15:18:42:
Quote:
De host van de website support geen externe scriptbestanden. Ik wil dus werken met een lokaal script, maar krijg dit niet aan de praat..

Is het niet raadzamer om PHP-ondersteuning bij je webhosting aan te vragen, of desnoods te verhuizen?
je kan wel zelf een webserver en PHP op je eigen computer installeren, maar die moet dan wel continu aan staan.


Hoe wil je een lokaal script op je computer aan de buitenwereld tonen dan?



Port forwardig.
 
Jack Sierkstra

Jack Sierkstra

09/04/2011 09:48:22
Quote Anchor link
Karl Karl op 09/04/2011 09:39:47:
Jack Sierkstra op 09/04/2011 09:35:10:
- Aar - op 07/04/2011 15:18:42:
Quote:
De host van de website support geen externe scriptbestanden. Ik wil dus werken met een lokaal script, maar krijg dit niet aan de praat..

Is het niet raadzamer om PHP-ondersteuning bij je webhosting aan te vragen, of desnoods te verhuizen?
je kan wel zelf een webserver en PHP op je eigen computer installeren, maar die moet dan wel continu aan staan.


Hoe wil je een lokaal script op je computer aan de buitenwereld tonen dan?



Port forwardig.



Vergt dat niet meer kennis dan op je hosting de Apache-module :PHP aanvragen?


Toevoeging op 09/04/2011 11:33:26:

Marjolein,

Als ik jou was zal ik informeren bij je host of ze PHP ondersteunen. Is dit niet zo? Ga naar een andere hosting.

De reden dat je het php script op het scherm ziet is omdat php het niet verwerkt. dus geeft hij het terug zoals je het erin heb gestopt.
Gewijzigd op 09/04/2011 09:48:54 door Jack Sierkstra
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.