Php met Html combineren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gor Grigorian

Gor Grigorian

11/06/2011 19:10:59
Quote Anchor link
Hallo iedereen,
Ik ben nieuw hier en heb zelf onlangs een website gemaakt. Graag wilde ik op een pagina foto's toevoegen en ik kwam deze site tegen. Ik vond de Automatisch Fotoalbum V3 van Arjen Kapteijn, maar wat ik ook doe, op de pagina komt alleen de code te staan die ik daar geplakt heb, ipv dat de foto's daar verschijnen. Graag zou ik willen weten wat ik fout doe, want de contactformulier van mijn website zit bijvoorbeeld ook zonder checks op dit moment. De code is als volgt:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>www.ANARGO.nl</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<div id="logo">
<h1><a href="#">www.ANARGO.nl </a></h1>
<h2></h2>

</div>

<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
<li><A HREF="nieuws.html">Nieuws</A>
<li class="active"><a href="photos.html">Photos</a></li>
<li><a href="videos.html">Videos</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>



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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<?php
$map
         = 'fotoalbum';
$afbeeldingen    = array();

$hoogte_klein     = 112;
$breedte_klein     = 150;

$hoogte_groot     = 400;
$breedte_groot     = 700;

$perpagina    = 12;

if(isset($_GET['album']) && !empty($_GET['album']))
{

    $tmp = explode('/',$_GET['album']);
    
    if($tmp[0] == $map)
    {

    $map = str_replace(array('.', '\\', ':'), '', $_GET['album']);
    }    
}


if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr']))
{

    $paginanr = $_GET['paginanr'];
}
else{
    $paginanr = 1;
}


if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding']))
{

    $afbeelding = $_GET['afbeelding'];
}
else{
    $afbeelding = NULL;
}

function
thumbnail($afbeelding, $type)
{

    
    $map         = $afbeelding['dirname'];
    $bestandsnaam     = $afbeelding['basename'];
    
    list($type, $hoogte, $breedte) = $type;
    list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam);
    
    if(!is_dir($map.'/thumbs/'))
    {

    mkdir($map.'/thumbs/', 0777);
    chmod($map.'/thumbs/', 0777);
    }

    
    if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte))
    {

    $breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
    }
else{
    $hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
    }


    $afbeelding = imagecreatetruecolor($breedte, $hoogte);

    switch($extensie)
    {
    case
1:
        //gif
        $afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam);
        imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
        imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
    break;
    case
2:
        //jpg
        $afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam);
        imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
        imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80);
    break;
    case
3:
        //png
        $afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam);
        
        $background = imagecolorallocate($afbeelding, 0, 0, 0);
        imagecolortransparent($afbeelding, $background); // make the new temp image all transparent
        imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel
        imagesavealpha($afbeelding, true);
        imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
        imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
    break;
    }

    
    chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777);
    return TRUE;
}


$tmp = NULL;
foreach(explode('/',$map) as $tmp2)
{
    
    echo '>> <a href="?pagina=fotoalbum&amp;album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> ';
    $tmp = $tmp.$tmp2.'/';
}


echo '<br><br>'.PHP_EOL;

if(!$bestanden = glob($map.'/*.*'))
{

    $bestanden = array();
}


foreach($bestanden as $bestand)
{

    $gegevens     = getimagesize($bestand);
    $extensie     = $gegevens['mime'];

    if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png')
    {

    $afbeeldingen[] = $bestand;
    }    
}


$aantalfotos = count($afbeeldingen);

if(isset($afbeelding))
{

    foreach($afbeeldingen as $id => $naam)
    {

    if(basename($naam) == $afbeelding)
    {

        $fotonr = $id;
    }
    }

    
    if(isset($fotonr))
    {

    $afbeelding = pathinfo($afbeeldingen[$fotonr]);
    
    if($fotonr > 0)
    {

        $vorige_afbeelding     = pathinfo($afbeeldingen[$fotonr-1]);
        
        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'">&lt;&lt; Vorige</a>';
    }
else{
        echo '&lt;&lt; Vorige';
    }

    
    echo '&nbsp;&nbsp;&nbsp; Foto '.($fotonr +1).' van '.$aantalfotos.' &nbsp;&nbsp;&nbsp;';
    
    if($fotonr < $aantalfotos -1)
    {

        $volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]);
        
        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende &gt;&gt;</a><br>';
    }
else{
        echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
    }

    
    if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename']))
    {

        if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot)))
        {

        echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
        }
    }
else{
        echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
    }
    }
else{
    echo '<p>Sorry, deze foto bestaat niet!</p>';
    }
}
else{
    
    if(!$mappen = glob($map.'/*', GLOB_ONLYDIR))
    {

    $mappen = array();
    }

    
    foreach($mappen as $album)
    {

    if(basename($album) != 'thumbs')
    {

        echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL;
    }
    }


    if($aantalfotos > $perpagina)
    {

    if ($paginanr > 1)
    {

        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'">&lt;&lt; Vorige</a>';
    }
else{
        echo '&lt;&lt; Vorige';
    }

    
    echo '&nbsp;&nbsp;&nbsp; Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' &nbsp;&nbsp;&nbsp;';
    
    if ($paginanr < ceil(($aantalfotos)/$perpagina))
    {

        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende &gt;&gt;</a><br>';
    }
else{
        echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
    }
    }

    
    for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1)
    {

    $afbeelding = pathinfo($afbeeldingen[$fotonr]);
    
    if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename']))
    {

        if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein)))
        {

        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
        }
    }
else{
        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
    }
    }
}

?>


</body>
</html>
 
PHP hulp

PHP hulp

16/04/2024 21:06:41
 
- Ariën  -
Beheerder

- Ariën -

11/06/2011 19:14:01
Quote Anchor link
Heeft de bestandsnaam wel een .php extentie i.p.v. .html?
 
Dennis de Swart

Dennis de Swart

11/06/2011 23:36:50
Quote Anchor link
1) Zoals Aar zegt, check of het bestand extensie .PHP heeft (en dus niet .HTML)

2) Als je de PHP code zelf kan zien, heb je waarschijnlijk dit vergeten:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ... ?>


(dus php openen/sluiten)

Want dan zou je inderdaad de PHP code zien. Dan wordt de code uitgevoerd als HTML en simpelweg op het scherm gegooid.
Gewijzigd op 11/06/2011 23:52:35 door Dennis de Swart
 
- Ariën  -
Beheerder

- Ariën -

11/06/2011 23:50:33
Quote Anchor link
Ik zie dat in die code staan hoor Dennis?

Ik denk meer dat:
- hij de extentie vergeten is (index.html- > index.php)
- geen php-ondersteuning heeft op de server.
 
Dennis de Swart

Dennis de Swart

11/06/2011 23:58:45
Quote Anchor link
@Aar,

1) Zijn hosting is Mijndomein (volgens SIDN) en die hebben standaard PHP actief?
2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch? Hij geeft aan dat de code wel zichtbaar is. Althans, zo begrijp ik dat uit zijn verhaal.

Laat hij eerst even de besproken oplossingen proberen en dan horen we het wel.
Gewijzigd op 12/06/2011 00:25:30 door Dennis de Swart
 
- SanThe -

- SanThe -

12/06/2011 06:31:29
Quote Anchor link
Dennis de Swart op 11/06/2011 23:58:45:
2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch?


Helaas, echt wel zichtbaar.
 
Gor Grigorian

Gor Grigorian

12/06/2011 15:05:35
Quote Anchor link
Hallo, dank jullie wel voor jullie reacties! Ik heb index.html, want heb daar geen php in gebruikt, zal dat dus vanmiddag nog veranderen in index.php, hetzelfde moet ik dus doen met foto.html. En even voor de duidelijkheid: de php stukje hoort tussen de body tags van html en niet dat de html stukjes tussen het php openen en sluiten hoort? Sorry ben echt heel nieuw bij dit allemaal.
Gr Gor Grigorian
 
- Ariën  -
Beheerder

- Ariën -

12/06/2011 15:20:51
Quote Anchor link
Klopt....
Even renamen, en het zou moeten werken.
 
Erik van de Locht

Erik van de Locht

12/06/2011 15:22:14
Quote Anchor link
Alle pagina's waar je PHP in gebruikt moet je de .php extensie geven. Het geeft totaal geen problemen als je alle pagina's naar .php hernoemt. Een .php file waar enkel HTML in staat doet exact hetzelfde als een pagina waar zowel PHP en HTML in staat.

Het maakt niet uit of je de PHP tussen de <body> tags neerzet, maar om je code XHTML valid te houden moet je wél zorgen dat output binnen de <body> tags komt.

Je kunt HTML ook in PHP printen / echo-en, zo bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<p class="paragraaf">Paragraafje</p>';
?>

Om dat echter overal bij je code te doen is in mijn ogen echt zonde. Als je grote lappen HTML hebt die ergens tussen moet, sluit PHP dan af, zet je HTML neer en open PHP dan weer (als je nog meer PHP code hebt):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php if ($ingelogd): ?>
  <p class="iets">
    Gebruiker is ingelogd.
  </p>
  <a href="..">Profiel</a><br />
  <a href="..">Uitloggen</a>
<?php endif; ?>


Dat houdt de overzichtelijkheid beter.
Gewijzigd op 12/06/2011 15:24:31 door Erik van de Locht
 
Gor Grigorian

Gor Grigorian

12/06/2011 20:49:39
Quote Anchor link
Hallo, dank jullie wel! Het werkt uitstekend! Ik heb iid alle files hernoemd naar .php en nu werkt het. Nogmaals dank jullie wel voor jullie snelle reacties en uitleg!
Gr. Gor Grigorian
 



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.