Archief - php : nieuwsflitsen probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

maT'

Legacy Member
de code kan toch altijd zeer handig zijn ;)
iets doet me denken aan een oneindige lus ...

[xA]*CetaVlex`

Legacy Member
eum srry :p

<div id="Layer1" style="position:absolute; left:151px; top:79px; width:428px; height:200px; z-index:1; background-color: #990033; layer-background-color: #990033; border: 1px none #000000;"><hr>
<?php

if(!$start) {
$start="0";} else{
$start=$start;}

$nu=date("Y-m-d",time());
$tijdnu=date("H:i:s",time());

$nieuws=Array();
$nieuws=file($bestand);
array_multisort ($nieuws, SORT_DESC);

for ($i=$start;$i<$start+$amount && $i<sizeof($nieuws);$i++) {
list($publicatiedatum,$tijdstip,$kort,$lang,$naam,$email,$ID,$titel,$datum)=explode('||',$nieuws[$i]);

$plaatsdatum= $publicatiedatum."@".$tijdstip;
$tijd=$nu."@".$tijdnu;

if($tijd >= $plaatsdatum){

echo"
<table width=\"75%\">
<tr><td width=\"500\">
<b>".$titel."</b><br><i>(Geplaatst door ". $naam.")</i><br><br>
</td>
<td> <p align=\"right\">
". $datum." @ ". $tijdstip."
</td>
</tr>
<tr>
<td colspan=\"2\">".$kort."<p align=\"right\">";
if($lang!="") { ?>
<a href="lang.php?id=<?php echo$ID ?>">Lees meer »</a> | <?php } ?><a href="lang.php?id=<?php echo$ID ?>">
<?php
if (file_exists("reacties/$ID.txt")) {
//aantal reacties
$aantalreacties = file("reacties/$ID.txt");
$aantal = count($aantalreacties);

if($aantal==1) {
echo"reactie (1) »";} else {
echo"reacties (".$aantal.") »";} }
else { echo"reacties (0) »";} ?>

</a>

</td></tr>
</table><br><hr>
<?php
}}?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%">
<p align="center">


<?php
//links onderaan de pagina

if ($start>0) echo '<A href="index.php?start='.max(0,$start-$amount).'"><<<</a>';

$regels = count($nieuws); if(!$n) { $n = 0; } else { $n = intval($n); }

{ for($i = 0; $i < $regels; $i+=$amount) { if($regels > $i) { echo(" [<a href='index.php?start=$i'>".($i/$amount+1)."</a>]"); } } }


if ($start+$amount<sizeof($nieuws)) echo ' <A href="index.php?start='.($start+$amount).'">>>></a>';
?></td>
</tr>
</table>


<?php
if($Copyrightnr11=="true") {
copyright ();}
?>
</div>

DarkBone

Legacy Member
Gebruik op zijn minst de PHP-tags van dit forum :/
En alvast bedankt om mijn Safari te doen hangen, moest ge het nie doorhebben, da's een oneindige lus!

Iets zegt me trouwens dat dit niet zelf geschreven is en ge bijgevolg geen flauw benul hebt waarmee ge bezig zijt, om nog maar te zwijgen van hoe slecht het is geschreven. De zin om hieraan te beginnen ontbreekt mij al :/

GuntherDW

Legacy Member
ik wil wel es helpe ja :)
ma welke lijn is nu line 85 want de code die gij geeft is ma rond 73 lijne...
en zo ziet het het er op z'n minst iets beter uit...

PHP:
<div id="Layer1" style="position:absolute; left:151px; top:79px; width:428px; height:200px; z-index:1; background-color: #990033; layer-background-color: #990033; border: 1px none #000000;"><hr> 
<?php 

if(!$start) { 
$start="0";} else{ 
$start=$start;} 

$nu=date("Y-m-d",time()); 
$tijdnu=date("H:i:s",time()); 

$nieuws=Array(); 
$nieuws=file($bestand); 
array_multisort ($nieuws, SORT_DESC); 

for ($i=$start;$i<$start+$amount && $i<sizeof($nieuws);$i++) { 
list($publicatiedatum,$tijdstip,$kort,$lang,$naam, $email,$ID,$titel,$datum)=explode('||',$nieuws[$i]); 

$plaatsdatum= $publicatiedatum."@".$tijdstip; 
$tijd=$nu."@".$tijdnu; 

if($tijd >= $plaatsdatum){ 

echo" 
<table width=\"75%\"> 
<tr><td width=\"500\"> 
<b>".$titel."</b><br><i>(Geplaatst door ". $naam.")</i><br><br> 
</td> 
<td> <p align=\"right\"> 
". $datum." @ ". $tijdstip." 
</td> 
</tr> 
<tr> 
<td colspan=\"2\">".$kort."<p align=\"right\">"; 
if($lang!="") { ?> 
<a href="lang.php?id=<?php echo$ID ?>">Lees meer »</a> | <?php } ?><a href="lang.php?id=<?php echo$ID ?>"> 
<?php 
if (file_exists("reacties/$ID.txt")) { 
//aantal reacties 
$aantalreacties = file("reacties/$ID.txt"); 
$aantal = count($aantalreacties); 

if($aantal==1) { 
echo"reactie (1) »";} else { 
echo"reacties (".$aantal.") »";} } 
else { echo"reacties (0) »";} ?> 

</a> 

</td></tr> 
</table><br><hr> 
<?php 
}}?> 
<table border="0" cellpadding="0" cellspacing="0" width="100%"> 
<tr> 
<td width="100%"> 
<p align="center"> 


<?php 
//links onderaan de pagina 

if ($start>0) echo '<A href="index.php?start='.max(0,$start-$amount).'"><<<</a>'; 

$regels = count($nieuws); if(!$n) { $n = 0; } else { $n = intval($n); } 

{ for($i = 0; $i < $regels; $i+=$amount) { if($regels > $i) { echo(" [<a href='index.php?start=$i'>".($i/$amount+1)."</a>]"); } } } 


if ($start+$amount<sizeof($nieuws)) echo ' <A href="index.php?start='.($start+$amount).'">>>></a>'; 
?></td> 
</tr> 
</table> 


<?php 
if($Copyrightnr11=="true") { 
copyright ();} 
?> 
</div>

0n3Liner

Legacy Member
DarkBone zei:
De zin om hieraan te beginnen ontbreekt mij al :/

wel, ik had nu eens totaal hetzelfde gevoel, ik bezien die code en denk van 'oh boy, laat dat maar aan de rest over' :p

maT'

Legacy Member
idd, met als gevolg dat in je for-lus de waarde $i dus niet verhoogd (eindeloze lus) + die division by zero errors creëert.

killgore

Legacy Member
0n3Liner zei:
wel, ik had nu eens totaal hetzelfde gevoel, ik bezien die code en denk van 'oh boy, laat dat maar aan de rest over' :p
yup

leer je code eens strutureren, dan zal je zelf ook al veel simpeler fouten vinden.

Dece

Legacy Member
gouden regel voor het debuggen:
echo je variabelen, dan zal je snel zien waar je fout zit

DarkBone

Legacy Member
Om maar iets te zeggen, notabene uw eerste php code, ma soit:

PHP:
if(!$start) {
$start="0";} else{
$start=$start;}

Moet dit worden:

PHP:
if (!isset($start))
{
     $start = 0;
}

Wat was er allemaal verkeerd?
- Ten eerste controleer je best altijd met de functie isset() of een variabele al dan niet gezet is.
- Ten tweede worden numerieke woorden nooit omringd door quotes, want dat duidt op een string (tekst dus), gelukkig maalt PHP hier niet om, maar het is verre van mooi gecodeerd.
- Wat is het nut van de else-tak ? Daarin stel je $start gelijk aan $start !? Maar als ge logisch nadenkt is dat toch een nutteloze bewerking?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan