php bestand in php bestand invoegen via php functie!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Johannes davidian

johannes davidian

10/07/2022 13:04:06
Quote Anchor link
Hallo,
deze is de syntax :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
add_action( 'init', 'process_post' );
 
function
process_post() {
     if( isset( $_POST['unique_hidden_field'] ) ) {
          // process $_POST data here
     }
}

?>


ik begrijp dat isset betekent : controleert of een variabele is ingesteld, wat betekent dat deze moet worden gedeclareerd en niet NULL is. Deze functie retourneert true als de variabele bestaat en niet NULL is, anders wordt false geretourneerd.

ik weet dat POST : PHP super globale variabele die wordt gebruikt om formuliergegevens te verzamelen na het indienen van een HTML-formulier met method="post". $_POST wordt ook veel gebruikt om variabelen door te geven.
.
1- maar wat precies wordt bedoeld met: unique_hidden_field hier boven is dat bedoeld als POST verborgen bestand is?
wat precies is de betekenis.

2- ik wil php bestand bijvoorbeeld: johan-david.php in johan.php bestand inhouden. zou deze syntax goed is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
add_action( 'init', 'process_post' );
 
function
process_post() {
     if( isset( $_POST['unique_hidden_field'] ) ) {
          // process $_POST data here
          include_once johan-david.php
     }
}

?>


in de voorbeeld boven ik heb include johan-david.php gedaan maar waar precies ik moet johan.php melden?
dank u wel
 
PHP hulp

PHP hulp

28/03/2024 19:53:41
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 13:58:40
Quote Anchor link
1) Het is gewoon een naam die geen specifieke beteknis binnen PHP heeft.
2) include / include_once
Gewijzigd op 10/07/2022 13:59:20 door - Ariën -
 
Ozzie PHP

Ozzie PHP

10/07/2022 15:28:50
Quote Anchor link
include_once johan-david.php

moet zijn:

include_once 'johan-david.php';

Informatie over hoe een functie werkt kun je nalezen op https://www.php.net/.

Als je de naam van de functie erachter zet, heb je meteen de juiste uitleg:

https://www.php.net/include

of

https://www.php.net/include_once

>> maar wat precies wordt bedoeld met: unique_hidden_field

Dat is gewoon de naam van een veld. Iemand heeft een veld gemaakt en daaraan de naam unique_hidden_field gegeven. Net zoals je een veld "name", "street", "age" enz. kunt noemen.
 
Johannes davidian

johannes davidian

10/07/2022 16:10:16
Quote Anchor link
dank u wel allebei,
ik heb gelezen in php.net

Ik zie dat include of incude_once moet gebruikt worden om php bestand in php bestand inhouden.

maar mij vraag is kan ik met deze code ook zelfde resultaat hebben:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

add_action( 'init', 'process_post' );
 
function
process_post() {

     if( isset( $_POST['johan.php'] ) ) {
          // process $_POST data here
          include_once 'johan-david.php';
     }
}


?>
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 16:15:58
Quote Anchor link
Het ziet er goed uit, hoewel een bestandsnaam als key in je $_POST wel apart eruit ziet.

Probeer het eens uit....
 
Ivo P

Ivo P

10/07/2022 16:20:15
Quote Anchor link
als jouw form uitziet als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form action="" method="post">
   <input name="johan.php" value="een tekst">
   <button type="submit">Send</button>
</form>


Dan zal $_POST['johan.php'] inderdaad bestaan.
Maar het blijft een ongebruikelijke naam voor een input
 
Johannes davidian

johannes davidian

10/07/2022 20:06:24
Quote Anchor link
dank u wel ,
iemand heeft mij deze code aangeraden om in function.php te plaatsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

add_action( 'init', 'process_post' );
 
function
process_post() {

     if( isset( $_POST['johan.php'] ) ) {
          // process $_POST data here
          include_once 'johan-david.php';
     }
}


?>


maar ik had mij twijfels daarom ik vroeg aan jullie.

ik gebruik nu liever include. ik heb 2 vragen:

1- ik zie dat include is function. moet ik deze function in haakjes gebruiken net als hier onder:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
 /* Template Name: Contact */
get_header();
the_content();
include ('/contact-form.php');
?>


of kan ook zonder haakjes gebruiken?
2- hoe ik kan nu zeker zijn n dat ik heb contact-form.php ingebed in contact.php ? of ze nu contact hebben met elkaar?

mij url is : https://webdesignleren.com/

hartelijke bedankt
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 20:44:05
Quote Anchor link
1) Het kan beide! Ikzelf gebruik geen haakjes.
2) Plaats output in 'contact-form.php', en kijk of die in je script waarin je de include uitvoert terug kan zien.
Let er wel op dat een / aan het begin ervoor zorgt dat er in de webroot gekeken wordt.

Verder hoef je niet steeds de URL te noemen. Dat komt op een gegeven moment spammerig over, tenzij je echt naar je site wilt refereren.
 
Johannes davidian

johannes davidian

10/07/2022 21:39:16
Quote Anchor link
ik heb div class gemaakt in contact.php die is zichtbaar in contact pagina .
ik heb andere class gemaakt in contact-form.php maar die is niet zichtbaar in contact pagina.
ik denk het zijn niet verbonden met elkaar.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 21:50:49
Quote Anchor link
Kijk eens naar de HTML-code in je browser. Zie je daar de HTML van je contact-form.php in je contact.php staan!
 
Johannes davidian

johannes davidian

10/07/2022 22:04:03
Quote Anchor link
bedankt ,
ik zie wel contact.php met de alle code maar ik zie geen contact-form.php staan?
voor zekerheid ik laat u hele pagina zien van contact-form.php.
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
<?php
 /* Template Name: Contact-form */
get_header();
the_content();

// define variables and set to empty values
$nameErr = $emailErr = $phoneErr = "";
$name = $email = $phone = $comment ==$success="";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  }
else {
    $name = test_input($_POST["name"]);
    // check if name only contains letters and whitespace
    if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
      $nameErr = "Only letters and white space allowed";
    }
  }

  
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  }
else {
    $email = test_input($_POST["email"]);
    // check if e-mail address is well-formed
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
  }

  
      
    if (empty($_POST["phone"])) {
    $phoneErr = "phone is required";
  }
else {
    $phone = test_input($_POST["phone"]);
    // check if phone only contains Invalid phone number
    if(preg_match("/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/", $phone)) {      
      $phoneError = "Invalid phone number";
      
    }
  }
  
 

  if (empty($_POST["comment"])) {
    $comment = "";
  }
else {
    $comment = test_input($_POST["comment"]);
  }

    
    if ($name_error=='' and $email_error=='' and $phone_error=='') {
        $message_body='';
        unset($_POST['submit']);
        foreach($_POST as $key => $value) {
            $message_body .= "$key:$value\n";
            
        }
    
        $to='[email protected]'
        $subject='Contact For Submit'
        if ($mail($to,$subject,$message)) {            
            
            $success="Message Sent,thank you for contacting us!" ;
            $name=$email=$phone=$message=''
        }
    
    }

    
}

function
test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

?>





    <?php
get_footer();

?>
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 22:15:45
Quote Anchor link
Ik heb het over de HTML-code in je browser. Niet je PHP-code.
 
Johannes davidian

johannes davidian

10/07/2022 22:20:01
Quote Anchor link
u bedoeld toch bron code van pagina van mij website?
er is geen contact-form.php naam in bron code nergens net als ik heb gezegd boven.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 22:33:02
Quote Anchor link
Ja, de HTML-broncode waarin je de HTML-code ziet die de browser ontvangt.

Als je wilt weten of iets goed geincludeerd is:
1) Zet in je te includeren bestand contact-form.php bijv. een commentaar-regel neer: <!-- Test! -->
2) Zorg dat je contact-form.php in contact.php includeert.
3) Bekijk in de broncode van de browser (dus geen PHP-script, dat staat er totaal los van) of je de commentaarregel ziet.

Als het goed is moet je volgens de link van WikiHow je commentaarregel moeten zien.
Gewijzigd op 10/07/2022 22:34:06 door - Ariën -
 
Johannes davidian

johannes davidian

10/07/2022 22:58:58
Quote Anchor link
ik heb het gedaan ,
ik zie geen enkele teken .
ik zie geheel code van contact.php in bron code maar ik zie nergens de naam van contact-form.php.
geen naam geen comentaar helemaal niets.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2022 23:15:08
Quote Anchor link
Heb je een / gebruik voor de bestandsnaam? Dan verwijs je naar de webroot.

Zet ook je error_reporting volledig aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
?>


Probeer anders eerst eens wat simpels die enkel een stukje tekst laat zien i.p.v. een hele pagina.
En test dit eens los van je site uit.
Gewijzigd op 10/07/2022 23:18:25 door - Ariën -
 
Ivo P

Ivo P

11/07/2022 09:27:56
Quote Anchor link
include geeft een notice of warning als het inladen niet lukt.

require of require_once zal een fatal error geven en geeft daarmee ook duidelijk aan als je file niet bestaat, of niet op de plek staat waar je denkt, of als je een verkeerd path opgeeft.

--
dat gezegd hebbend.
Ik heb ook de indruk dat je niet helemaal het principe van include begrijpt.
test.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$a
= 10;
include 'mijnincludefile.php';

echo $b;
?>


mijnincludefile.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
   echo $a;
   $b = 25;
?>


Wat zal de output zijn van de aanroep http://localhost/test.php

Dat is "1025"

Waarom?
Omdat de include ertoe leidt dat het script samengesteld wordt als

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$a
= 10;

   echo $a;
   $b = 25;


echo $b;
?>


Je "ziet" dus niets van een geinclude file, tenzij deze een bepaalde output geeft.
Zou er in mijnincludefile.php alleen maar staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$b
= $a * 2;
?>


Dan zou de output van http://localhost/test.php zijn: "20"

NB: op deze manier werken met includes kan heel lastig debuggen zijn: variabelen lijken in test.php uit het niets te komen. Bijvoorbeeld die $b.
En als je 10 files op die manier include, die zelf ook weer includen, dan vervuil je je globale variabele ruimte met een hoop vars.
En, niet te vergeten, je loopt het risico dat er ergens in zo'n script een $i tellertje gebruikt wordt die een $i in het hoofdscript overschrijft.
Ook heel fijn als dan de include maar soms aangesproken wordt.

Dus: include alleen als het echt moet. En dan het liefst alleen maar met functions of classes er in en niet met direct uitvoerende code.
 
Johannes davidian

johannes davidian

11/07/2022 10:59:21
Quote Anchor link
dank u wel,
het heeft geen zin ik heb een class gemaakt in page.php met tekst hello wanneer ik open iedere pagina ik zie deze tekst hello.
ik heb ook op zelfde wijze tekst gemaakt in contact-form.php maar ik zie geen tekst.
tweede ik heb require_once geprobeerd ik krijg error.
Ivo P heeft gelijk:include alleen als het echt moet. En dan het liefst alleen maar met functions of classes er in en niet met direct uitvoerende code.
ik heb zelf bedacht deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$filename
= '/contact.php';

if (file_exists($filename)) {
  include_once {'/contact-form.php') ;
    
}
else {
    echo "The file $filename does not exist";
}

?>


maar heeft niet geholpen als iemand weet betere syntax of kan corrigeren deze syntax laat mij weten a.u.b .
 
- Ariën  -
Beheerder

- Ariën -

11/07/2022 11:01:42
Quote Anchor link
Je wilt een bestand includeren, maar je controleert wel of een ander bestand wel of niet bestaat. Dat lijkt niet logisch.

Mijn advies: Test het eens op simpele wijze uit.
Gewijzigd op 11/07/2022 11:05:30 door - Ariën -
 
Johannes davidian

johannes davidian

11/07/2022 11:20:51
Quote Anchor link
ik heb alleen deze gedeelte gebruikt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$filename
= '/contact.php';

if (file_exists($filename)) {
  include_once {'/contact-form.php') ;
?>

}


dank u wel
 
- Ariën  -
Beheerder

- Ariën -

11/07/2022 11:24:16
Quote Anchor link
Moet je niet controleren op /contact-form.php?
 

Pagina: 1 2 volgende »



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.