Ik ben mijn site aan het ombouwen van frames naar php include met de volgende php "code" <?PHP include("URL"); ?>
Dezelfde pagina werk wel als ik een header en een menu heb dus 3 frames.
maar niet als ik hem include Weet iemand misschien een antwoord ik ben namelijk al een tijdje bezig en uit de boeken kom ik ook niet (ben een newbie)

Opvraag pagina:

<html xmlns:fo="http://www.w3.org/1999/XSL/Format">
<head>
<?PHP include("../de/included/meta.php"); ?>
</head>


<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" bottommargin="0" rightmargin="0">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%" class="alltable">
<tr height="5" bgcolor="#cfcfcf">
<td colspan="2" style="background:#d9d9d9 url(images/menu_bgrpt.gif) bottom left repeat-x;">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="15">
      <tr> 
        <td style="padding:0px 10px 0px 10px;" class="pageheader"> <p class="pageheader">&nbsp;&nbsp;&nbsp;&nbsp; 
            <a class="pageheader" href="http://www.plastikor.de" title="Plastikor Nederland bv." target="_top">Home</a> 
            - <a class="pageheader" href="sitemap.php" title="Sitemap" target="_top">Sitemap</a> 
          </p></td>
        <td class="pageheader"> <div align="left">U bevindt zich hier: <a class="pageheader" href="index.html" title="Ringbanden" target="_top">Home</a> 
          </div></td>
      </tr>
    </table>

<tr height="118">
<td style="border-top:1px solid #ffffff; border-bottom:1px solid #ffffff; background:#a5a7a4 url(images/logo_bgrpt.gif) center left repeat-x;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="118" style="background:url(images/logo_bg.jpg) center center no-repeat;">
<tr><td align="center">
<div style="width:200px; height:0px;"><spacer>
<script type="text/javascript" src="http://www.plastikor.nl/nl/Scripts/bolklein.js"></script> 
		    </spacer></div>
          <br />

<div class="mycompany">Plastikor Nederland</div>
</td></tr></table></td>
<td width="100%" style="border-top:1px solid #ffffff; border-bottom:1px solid #ffffff; border-left:1px solid #ffffff;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="118" class="visual">
<tr><td><img src="images/top.jpg" width="529" height="118" border="0" alt=""><?PHP include("../de/included/slogan.php"); ?></td></tr></table></td></tr>
<tr height="100%"><td bgcolor="#dfdfdf" valign="top">



<div class="secondmenudivider1"><spacer></spacer></div><div class="secondmenudivider2"><spacer></spacer></div>
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="secondmenuitem">
<tr>
            <td></td>
<td>		<!--- START MENU LEFT HTML -->
		<div id="dhtmlgoodies_menu">
		
	<ul>
<li><a href="../de/inhoud.php" alt="Ihr Bestellung">Ihr Bestellung</a></li>
<li><a href="../de/catalog.php" alt="Catalogus">Catalogus</a></li>

<?
	include '../de/winkelwagen/php/database-mysql.php';
	include '../de/winkelwagen/php/html_css.php';
	include '../de/winkelwagen/php/utility.php';
	include '../de/winkelwagen/php/conf.php';
	include '../de/winkelwagen/php/cart.php';
	include '../de/winkelwagen/php/db.php';


	$res = $db -> query_exec("SELECT * FROM categorien ORDER BY sort, id");
	$num = $db -> numrows($res);

	for($i = 0; $i < $num; $i++) {
		$arr = $db -> fetch_assoc($res, $i);
		?>
		<li><a href="../de/subcat_listing.php?id=<?=$arr['id']?>" alt="StatusMsg('<?=UCWords($arr['naam'])?>');return document.returnValue"><?=UCWords($arr['naam'])?></a></li>
		<?
	}
?>

		</ul>
		</div>
		<!-- END MENU HTML-->
	</div>	
</td></tr></table>





<div class="secondmenudivider1"><spacer></spacer></div><div class="secondmenudivider2"><spacer></spacer></div></td>
<td bgcolor="#ffffff" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr height="22">
<td style="background:#ffffff url(images/pageheader_bgrpt.gif) bottom left repeat-x; padding-bottom:2px;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="20">

<?PHP include("../de/included/header.php"); ?>


<tr><td class="thatext" style="padding:13px 40px 20px 14px;"><span>
                    <?PHP include("../de/included/bestel_product.php"); ?>
</td></tr>
</table></td></tr>

<?PHP include("../de/included/footer.php"); ?>

</body></html>



Het php bestand waar de fout in zit:

<?php
error_reporting(E_ALL);
?>

<?php

$action = isset($HTTP_POST_VARS['action']) ? $HTTP_POST_VARS['action'] : 0;

if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST') {
	foreach($HTTP_POST_VARS as $key => $value)
		if (preg_match('/submit_([0-9]+)_(x|y)/i', $key, $matches))
			$product_id = $matches[1];

	$aantal_key = "aantal_$product_id";

	$aantal     = isset($HTTP_POST_VARS[$aantal_key]) ? $HTTP_POST_VARS[$aantal_key]  :  '';
	$subcat_id  = isset($HTTP_POST_VARS['subcat_id'])  ? $HTTP_POST_VARS['subcat_id'] : 0;

	unset($aantal_key);
}

if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST' && $action == 1) {

	$cart = new WinkelWagen;
	session_start();
	/* als $cart in de sessie bestaat wordtie weer gevuld */

	session_register('cart');
	/* we gaan $cart veranderen, dus geef op om op te slaan */

	$aantal     = isset($HTTP_POST_VARS['aantal'])      ? $HTTP_POST_VARS['aantal']     : 0;
	$product_id = isset($HTTP_POST_VARS['product_id'])  ? $HTTP_POST_VARS['product_id'] : 0;
	$kleur      = isset($HTTP_POST_VARS['kleur'])       ? $HTTP_POST_VARS['kleur'] : '';
	$bedrukt    = isset($HTTP_POST_VARS['bedrukt'])     ? $HTTP_POST_VARS['bedrukt'] : '';
	$opmerking  = isset($HTTP_POST_VARS['opmerkingen']) ? $HTTP_POST_VARS['opmerkingen'] : '';

	$pid_res = $db->query_exec("SELECT COUNT(*) FROM artikelen WHERE id = $product_id");

	/* Controleer of het product_id bestaat, de kans bestaat dat users dat wijzigen */
	if ($db->numrows($pid_res) == 0 || !$aantal || !$product_id || !$subcat_id)
		FataleFout('Gestuurde data is niet compleet!', $PHP_SELF, __LINE__);

	$item = new Artikel($product_id, $aantal, $kleur, $opmerking, $bedrukt);
	$cart->Voegtoe($item, $subcat_id);
	exit;
}

if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'GET') {
	Header("Location: ../info.html");
	exit;
}


$product_res = $db->query_exec("SELECT s.naam as subcat_naam, a.art_nr art_nr, a.pps as pps FROM subcategorien s, artikelen a WHERE a.subcat_id = s.id AND a.id = $product_id");
$product_inf = $db->fetch_assoc($product_res);



/* Bereken de prijzen vooruit voor readability */

$stuk_prijs_nld = $product_inf['pps'];
$stuk_prijs_eur = number_format( ($stuk_prijs_nld / $euro), 2, '.', ',');

$tot_prijs_nld = number_format( ($stuk_prijs_nld * $aantal), 2, '.', ',');

/* conform regels gulden -> euro berekeningen, voer berekening opnieuw uit ivm mogelijke afrondings fouten  */
$tot_prijs_eur = number_format( (($stuk_prijs_nld * $aantal) / $euro), 2, '.',',');

?>
<BODY>
<CENTER>
<FORM ACTION="<?=$PHP_SELF?>" METHOD="POST">
<INPUT TYPE="hidden" NAME="action" VALUE="1">
<INPUT TYPE="hidden" NAME="product_id" VALUE="<?=$product_id?>">
<INPUT TYPE="hidden" NAME="subcat_id" VALUE="<?=$subcat_id?>">
<INPUT TYPE="hidden" NAME="aantal" VALUE="<?=$aantal?>">
    <TABLE WIDTH="693" BORDER="0" CELLSPACING="0" CELLPADDING="0">
      <TR BGCOLOR="#800000">
        <TD COLSPAN="5" HEIGHT="39" CLASS="bigheading" ALIGN="CENTER"> <B><FONT SIZE="3">Bestellen:
          </FONT></B> </TD>
      </TR>
      <TR>
        <TD WIDTH="108" HEIGHT="20" class="content_small_noback"><b>Aantal</b></TD>
        <TD WIDTH="260" HEIGHT="20" class="content_small_noback"><b>Omschrijving</b></TD>
        <TD WIDTH="111" HEIGHT="20" class="content_small_noback"><b>Artikel nummer</b></TD>
        <TD WIDTH="110" HEIGHT="20" class="content_small_noback"><div align="right"><b>Prijs
            per stuk</b></div></TD>
        <TD WIDTH="104" HEIGHT="20" class="content_small_noback"><div align="right"><b>Prijs
            Totaal</b></div></TD>
      </TR>
      <TR>
        <TD WIDTH="108" class="content_small_noback"><B>&nbsp;</B></TD>
        <TD WIDTH="260" class="content_small_noback">&nbsp;</TD>
        <TD WIDTH="111" class="content_small_noback">&nbsp;</TD>
        <TD WIDTH="110" class="content_small_noback" ALIGN="RIGHT"><div align="right"></div></TD></TD>
        <div align="right"></div></TR>
      <TR>
        <TD WIDTH="108" class="content_small_noback">&nbsp;
          <?=$aantal?>
          x</TD>
        <TD WIDTH="260" class="content_small_noback">
          <?=$product_inf['subcat_naam']?>
        </TD>
        <TD WIDTH="111" class="content_small_noback">
          <?=$product_inf['art_nr']?>
        </TD>
        <TD WIDTH="110" class="content_small_noback"><div align="right">&euro;&nbsp;&nbsp;
            <?=$stuk_prijs_nld?>
          </div></TD>
        <TD WIDTH="104" class="content_small_noback"><div align="right">&euro;&nbsp;&nbsp;
            <?=$tot_prijs_nld?>
          </div></TD>
      </TR>
      <TR>
        <TD WIDTH="108" HEIGHT="30"> <P>&nbsp;</P></TD>
        <TD WIDTH="260" HEIGHT="30">&nbsp;</TD>
        <TD WIDTH="111" HEIGHT="30">&nbsp;</TD>
      </TR>
      <TD>&nbsp;</TD>
      </TR>
      <TR>
        <TD COLSPAN="2" CLASS="content_small_noback"><B>
          <INPUT TYPE="checkbox" NAME="bedrukt" VALUE="checkbox">
          Bedrukken met logo tegen meerpijs, Wij nemen dan nog contact met u op.</B></FONT></TD>
        <TD>&nbsp;</TD>
      </TR>
      <TR>
        <TD COLSPAN="2">&nbsp;</TD>
        <TD>&nbsp;</TD>
      </TR>
      <TR>
        <TD COLSPAN="2" CLASS="content_small_noback"><B>Opmerkingen:</B><BR>
          <TEXTAREA NAME="opmerkingen" COLS="45" ROWS="2"></TEXTAREA>
        </TD>
        <TD>&nbsp;</TD>
      </TR>
      <TR>
        <TD COLSPAN="2"class="content_small_noback"><br /><div align="right">
            <input type="submit" name="Submit" value="Leg in Winkelmand">
            <br />
            &nbsp;<BR>
          </div></TD>
        <TD COLSPAN="2">&nbsp; </TD>

      </TR>
    </TABLE>
</FORM>
</CENTER>



een actueel voorbeeld vind je hier.

druk op bestel en daarna op leg in winkelmang. druk je op leg in winkelmand krijg je een wit beeld.
Ik zelf denk dat je fout op regel 1 t/m 66 en dan specifiek bij 1 t/m 45 zit maar omdat ik een newbie ben weet ik deze niet op te lossen. misschien als iemand een oplossing weet mij ook kan vertellen waarom deze zo opgelost moet worden.

Alsvast bedankt, Stefan

ps. mocht ik dingen niet volgens de regels doen geef even een opmerking en ik zal me eraan houden, Bedankt
Doe wat aan foutafhandeling.

Controleer of je query gelukt is.
Programmeer altijd met:
<?php
error_reporting(E_ALL);
?>
Zo die je alle foutmeldingen / notices voorbijkomen.
Dit gaat echt snel, bedankt voor je snelle reactie en de code Erik.

Hij gaf 2 fouten aan:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/bestel_product.php:3) in /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/included/bestel_product.php on line 25

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/bestel_product.php:3) in /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/included/bestel_product.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/bestel_product.php:3) in /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/included/bestel_product.php on line 45


op regel 45 heb ik Header("Location: inhoud.php"); eruitgehaald dus die fout is al weg.

Weet iemand wat te doen is tegen regel 25? session_start();
Hoi Stefan,

Probeer session_start(); ALTIJD boven aan je pagina te zetten, boven alle PHP code anders krijg je die error: header already sent.

Groetjes, Wessel
Wessel,
Ik heb de code session_start(); nu krijg ik fout op regel 6!
Heb ik wat fout gedaan en iets meer mee moeten knippen en plakken?
Is er misschien iemand die me uit de brand kan helpen en me te vertellen wat ik fout heb gedaan. en vooral ook hoe ik het oplos en voorkom?

Alvaste bedankt allemaal.
Stefan schreef op 28.08.2007 09:08
Wessel,
Ik heb de code session_start(); nu krijg ik fout op regel 6!
Heb ik wat fout gedaan en iets meer mee moeten knippen en plakken?
Wát voor fout krijg je op regel 6? Let erop dat je session_start() helemaal bovenaan moet staan, voordat je iets echo'ed, print of html't of wat dan ook.
Offtopic:
Ik ben mijn site aan het ombouwen van frames naar php include
Wat hebben frames nu met PHP te maken? Je kunt prima PHP op de server gebruiken en een html-pagina met frames aanmaken. Het ene heeft echt helemaal niks met het andere te maken.

Jij zit in elk geval in de knoop met de logica en de html-output. Jij begint al met output voordat je met de logica (bv. sessies en cookies) klaar bent. Maak hierin een hele goede scheiding en je hebt hier nooit problemen mee. Heb er zelf al in geen jaren meer problemen mee gehad.

Oplossing: Output pas als aller, allerlaatste aanmaken. Geen letter html echoen voordat je met de logica klaar bent. Ik gebruik een template-engine en laat de output letter op de allerlaatste regel van de scripts aanmaken. Sessies en cookies zijn dan al láng de deur uit.

Ps. Het script is erg oud, $HTTP_POST_VARS['opmerkingen'] en vriendjes worden al jaren niet meer gebruikt. Gebruik $_POST['opmerkingen']. Zie verder de handleiding.
Ik had het volgende gedaan:

<?php
error_reporting(E_ALL);
?>

<?php
session_start(); (dit is regels 6)

en toen kreeg ik 2 keer deze foutmelding:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/bestel_product.php:3) in /usr/local/psa/home/vhosts/plastikor.nl/httpdocs/de/included/bestel_product.php on line 6

helemaal boven aan dus:

session_start();
<?php
error_reporting(E_ALL);
?>

<?php

doet hij niks en regel 26?
Volgens mij begrijpt ik het niet helemaal wat ik aan het doen ben!?
Zet, session_start() HELEMAAL bovenaan. Geen spaties ofzo er dus voor, geen HTML, geen includes, NIETS! Ok? Dan moet het werken..
@pg frank,

Ik weet dat het een oud sript is over 2 maanden begint mijn cursus php en dan hoop ik het te begrijpen en bij de tijd te brengen. maar ik wil dit script nu af hebben, dit is het laaste stuke php waar ik op hangen blijf.

Wat frames met php niks!?! maar als dit scipt wel werkt met een frame en niet werk als ik <?PHP include("URL"); ?> dan moet ik toch ergens wat fout doen?

Ik ben de handleiding al voor de 3e x aan het doorlezen, bedankt voor de tip!

Reageren