Ik wil dat als er geen request is id <> dan een img laten zien en als er wel een id is dan de id overnemen in de link. Op 1 of andere manier lukt het me niet met deze code. Ik ben ASP-er van oorsprong dus daar zal wel het probleem in zitten.

Ik hoop dat iemand me kan helpen met mijn probleem. Hier de code:

<? IF ('$_REQUEST[""];') ?>
<img src="/images/intro_new.jpg" />
<? ELSE ?>
<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/<? PRINT $_REQUEST["id"]; ?>/iframe.html" title="Showit Web Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>


Op de ELSE lijkt hij vast te lopen

Mvgr, Stef Segers
HUH ik ben niet zo goed in php maar is het niet zo:

<?php if(!$_REQUEST["id"]) {  //{ openen met ! ervoor = als niet
?>
<img src="/images/intro_new.jpg" />
<?php }else{  //}else{ }sluiten en anders openen{ 
?>
<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/
<?php PRINT $_REQUEST["id"]; ?> 
/iframe.html" title="Showit Web Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>
<?php
} //afsluiten
?>


of heb ik de vraag niet begrepen?
Hey Jorn,

Bedankt voor je snelle reactie. Volgens mij gaat het niet geheel goed.

http://www.dejavureportage.nl/new.php

Dat is het document waar jouw stukje in zit
Notice: Undefined index: id in F:\wwwroot\stefan\dejavureportage.nl\public_html\new.php on line 59

Dat is deze regel: <?php if(!$_REQUEST["id"]) { //{ openen met ! ervoor = als niet
Een Notice is geen fout. In PHP is het niet verplicht om variabelen te declareren. Als error_reporting op all staat dan geeft PHP wel de melding dat de variabelen nog niet gedeclareerd is.

Om te controleren of een variabelen al gedeclareerd is gebruik je isset() of empty().

Voorbeeld:

<?php
    if (isset($var)) { /* voer dit uit als $var bestaat */ } else { /* $var bestaat niet */ }
?>
Wtf is een $_REQUEST?

<?php
if(isset($_GET['id']) && !empty($_GET['id']))
{
if(is_numeric($_GET['id']))
{
echo 'ID: '.$_GET['id'];
}else{
echo 'ID is niet numeriek!';
}
}else{
echo 'Er is geen ID!';
}
?>

Hey Webmakerij,

bedankt voor je snelle antwoord. Maar nog snap ik nog niet wat ik moet doen. Als je naar de pagina gaat die ik heb opgegeven en klikt op 1 vd links zie je dat deze niet werken.
Op 1 of andere manier is die link dus niet goed.

Ook die Notice heb ik inderdaad niet nodig.. Hoe haal ik die weg?
Beste Arjan,

Volgens w3schools moet ik $_REQUEST opvragen vandaar dat ik daarmee was begonnen. Nogmaals ik ben een ASP-er en geen PHP-er vandaar dat ik er zo moeilijk uit kom.
Je code is best duidelijke taal, maar voor mij moeilijk te converteren naar mijn probleem zoals beschreven bovenaan.
Misschien dat je die code van jouw en mij kan combineren voor me tot een werkende code?

Mijn ID is de naam van de directory die moet worden overgenomen.
ID is dus NIET nummeriek maar een tekst in dit geval
Ik heb een ander klein script die een map uitlees op directories. De naam van de dir moet dan worden over genomen en in de plaats worden gezet van de link naar de iframe.html

Ook de Notice is iets wat ik niet wil zien, is daar ok een oplossing voor?

S.
Een ID is numeriek, gebruik dan andere variabele namen. Gebruik je een $_GET, $_POST, $_COOKIE of $_SESSION?

Directories uitlezen doe je met iets als;

<?php
foreach(glob('*', GLOB_ONLYDIR) as $dir)
{
echo 'Map: '.$dir;
}
?>

Verder vind ik je hele constructie met frames en het vervangen van mapnamen een beetje wazig, volgens mij doe je iets niet helemaal lekker.
inmiddels heb ik alles werkend op de notice na.
Ik zat even de code te bekijken over isset maar ik kan het nog niet in mijn code verwerken op 1 of andere manier. Hier even een complete code wat ik nu heb draaien.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<title>Dejavu Reportage - foto gallerij, portfolio, trouwerijen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<? include('includes/metatags.inc'); ?>
<link href="css/dejastyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td id="content_cell">
<div class="cellHoogte">
<div id="newTXT"><h1 align="right">Nieuwe foto's</h1>
<?
function getFiles($path) {
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;

if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];

return $sortedFiles;
}

$files = getFiles("./NEW");
foreach ($files as $file) print "&nbsp;&nbsp;&nbsp;&nbsp;<b><a href=\"new.php?naam=$file[name]\">$file[name]</a></b><br>\n";
?>
</div>
<div id="NEW">
<div>

<?php if(!$_GET["naam"]) { //{ openen met ! ervoor = als niet
?>
<img src="/images/intro_new.jpg" />
<?php }else{ //}else{ }sluiten en anders openen{
?>

<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/<?php PRINT $_GET["naam"]; ?>/iframe.html" title="Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>
<?php
} //afsluiten
?>
</div>
</div>
<? include('includes/menu.inc'); ?>
</div>
</td>
</tr>
<tr>
<td id="footer">
<? include('includes/footer.inc'); ?>
</td>
</tr>
</table>
</div>
<body>
</body>
</html>
Stef Segers schreef op 01.09.2007 15:39
inmiddels heb ik alles werkend op de notice na.
Ik zat even de code te bekijken over isset maar ik kan het nog niet in mijn code verwerken op 1 of andere manier. Hier even een complete code wat ik nu heb draaien.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<title>Dejavu Reportage - foto gallerij, portfolio, trouwerijen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<? include('includes/metatags.inc'); ?>
<link href="css/dejastyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td id="content_cell">
<div class="cellHoogte">
<div id="newTXT"><h1 align="right">Nieuwe foto's</h1>
<?
function getFiles($path) {
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;

if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];

return $sortedFiles;
}

$files = getFiles("./NEW");
foreach ($files as $file) print "&nbsp;&nbsp;&nbsp;&nbsp;<b><a href=\"new.php?naam=$file[name]\">$file[name]</a></b><br>\n";
?>
</div>
<div id="NEW">
<div>

<?php if(!$_GET["naam"]) { //{ openen met ! ervoor = als niet
?>
<img src="/images/intro_new.jpg" />
<?php }else{ //}else{ }sluiten en anders openen{
?>

<iframe style="border: medium none ; background-color:FFFFFF;" src="/NEW/<?php PRINT $_GET["naam"]; ?>/iframe.html" title="Slideshow" frameborder="0" height="370" width="500" scrolling="no"></iframe>
<?php
} //afsluiten
?>
</div>
</div>
<? include('includes/menu.inc'); ?>
</div>
</td>
</tr>
<tr>
<td id="footer">
<? include('includes/footer.inc'); ?>
</td>
</tr>
</table>
</div>
<body>
</body>
</html>


INMIDDELS OPGELOST

<?php if(!isset($_GET["naam"])){ ?>

Reageren