Creep Skrevet 2. januar 2007 Skrevet 2. januar 2007 Har ett slags gjestebokscript jeg driver på å gjøre om til ett nyhetsscript, dette er med flatfiler. Problemet mitt nå er at jeg trenger en "les mer" funksjon (vist jeg kan kalle det det). Scriptet ser slik ut: <?php $matrise = file("info.txt"); //ta bort kommentarene for å se innholdet i matrisen /* echo "<pre>"; var_dump($matrise); echo "</pre>"; /**/ $perSide = 5; $start = isset($_GET['side']) ? (intval($_GET['side']) * $perSide) : 0; $matrise = array_reverse($matrise); for ($i = $start; $i <= $start + $perSide; ++$i) { if (!isset($matrise[$i])) { break; } //deler opp hver bit av strengen til en ny matrise $neste = explode("***---***", $matrise[$i]); if (sizeof($neste) < 2) { break; } list($navn,$hils) = explode("***---***", $linje); echo "<b>" . Neste[0] . "</b>"; //Skriver overskriften echo "<blackquote>" . Neste[1] . </blackquote>; //Skriver ingress } echo "Side: "; $sider = ceil(sizeof($matrise) / $perSide); for ($i = 0;$i < $sider; ++$i) { echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?side=" . $i . "\">" . ($i + 1) . "</a> "; } ?> Prøvde denne: echo "<a href='Neste[2]'>Les mer</a>"; Men det funket ikke. Var den beste ideen jeg kom på. PS: vist jeg er dårlig å forklare så bare si fra
Ståle Skrevet 2. januar 2007 Skrevet 2. januar 2007 (endret) Det hadde vært enklere hvis du brukte databaser, men hvis du har lyst å bruke flatfiler går det også. Det du må gjøre er å fikse ett lite delscript. Da må du også disable for() loopen. Du må også skrive en id til filen. id***---***Overskrift***---***ingress***---***mer***---*** if ($_GET['action']=="lesmer") { $id = $_GET['id']; foreach ($fil as $linje) { $nyhet = explode('***---***', $linje); if ($nyhet[0]==$id) { echo $nyhet[1]; //overskrift echo $nyhet[2]; // Ingress echo $nyhet[3]; // resten av nyheten }}} Så lager du linker til á la ?id=1&action=lesmer Endret 2. januar 2007 av Ståle
Creep Skrevet 2. januar 2007 Forfatter Skrevet 2. januar 2007 Jeg får error på allerede første linje av scriptet ditt. Jeg ser ikke noe feil dær? Eller er jeg blind?
Ståle Skrevet 2. januar 2007 Skrevet 2. januar 2007 Nei, det var nok jeg som var blind igår xD fikset nå... tror jeg
Creep Skrevet 2. januar 2007 Forfatter Skrevet 2. januar 2007 Nå får jeg ikke erroren neij men problemet er at jeg får ikke noe link til les mer heller. Jeg er så jævla dårlig på akkurat det området når deg gjeller php:/
Ståle Skrevet 2. januar 2007 Skrevet 2. januar 2007 du kan jo prøve sånn echo '<a href="?action=lesmer&id=' . $neste[0] . '">Les mer</a>';
Creep Skrevet 2. januar 2007 Forfatter Skrevet 2. januar 2007 (endret) Warning: Invalid argument supplied for foreach() in /web/www/frac/users/s/system32/gjestebok/gjestebok_vis.php on line 39 linje 39: foreach ($fil as $linje) { Endret 2. januar 2007 av Creep
Creep Skrevet 2. januar 2007 Forfatter Skrevet 2. januar 2007 (endret) Men nå har jeg "Parse error: syntax error, unexpected T_VARIABLE bla bla... Linje 40: $neste = explode("***---***", $matrise[$i]); Resten: if ($_GET['action']=="lesmer") { $id = $_GET['id']; foreach ($matrise = file("info.txt") $neste = explode("***---***", $matrise[$i]); if ($neste[0]==$id) { echo $neste[0]; //overskrift echo $neste[1]; // Ingress echo $neste[4]; // resten av nyheten Endret 2. januar 2007 av Creep
Ståle Skrevet 3. januar 2007 Skrevet 3. januar 2007 Hva er linje 39 da? Har du glemt et semikolon ; ?
Gjest medlem-77217 Skrevet 3. januar 2007 Skrevet 3. januar 2007 Why do it the hard way Erhm.. ja... Okey.. Om du virkelig ikke får det til kan du jo bruke JavaScript (måtte gud forby).
Creep Skrevet 3. januar 2007 Forfatter Skrevet 3. januar 2007 Hva er linje 39 da? Har du glemt et semikolon ; ? 7634404[/snapback] Linje 39: $id = $_GET['id']; Why do it the hard way Erhm.. ja... Okey.. Om du virkelig ikke får det til kan du jo bruke JavaScript (måtte gud forby). 7635026[/snapback] ja det ville du vell likt. Aldri i værden
Creep Skrevet 4. januar 2007 Forfatter Skrevet 4. januar 2007 Må si det var lite liv, har jobbet med dette i flere dager nå i strekk! Får det ikke til...hjelp?
Ståle Skrevet 4. januar 2007 Skrevet 4. januar 2007 Nja.. jeg skjønte at den koden din var veldig dårlig.. derfor laget jeg likesågodt en ny. xD Den er veldig treig, men det tror jeg ikke er mulig å unngå pga det er en flatfil og man må søke gjennom alle linjene etter det inlegget man vil lese mer av. Bruk mysql neste gang Klikk for å se/fjerne innholdet nedenfor <?php // <reklame>Made by Ståle</reklame> // <adress>http://stale.z42.us</adress> //Filen $fil = file("info.txt"); $fil = array_reverse($fil); function sidetall() { $i = count($fil); $sider = array(); $u = ceil($i / 5); for ($o=1; $o <= $u; $o++) { array_push($sider, $o); } if (($i % $u)==0) echo ''; else array_push($sider, $o+1); if (!(($i % $u)==0)) array_push($sider, $o+1); $siste = end($sider); if (!isset($_GET['side'])) $side = 1; else $side = $_GET['side']; $forrige = $side - 1; if ($forrige<=0) echo '<<'; else echo "<a href=\"?&side=$forrige\"><<</a>"; foreach($sider as $enside) { echo ' <a href="?&side=' . $enside . '">' . $enside . '</a>'; } $neste = $side + 1; echo ' '; if ($neste >= end($sider) + 1) echo '>>'; else echo "<a href=\"?&side=$neste\">>></a>"; } foreach ($fil as $nyhet) { $segment = explode('***---***', $nyhet); if (($_GET['action']=="lesmer") && ($_GET['id']==$segment[0])) { echo '<strong>' . $segment[1] . '</strong>'; echo '<br />'; echo $segment[2]; echo '<br />'; echo $segment[3]; echo '<br /><br />'; } if (!isset($_GET['action'])) { echo '<strong>' . $segment[1] . '</strong>'; echo '<br />'; echo $segment[2]; echo '<br />'; echo '<a href="?side=' . $_GET['side'] . '&action=lesmer&id=' . $segment[0] . '">Les Mer</a>'; echo '<br /><br />'; } } ?>
Jonhoo Skrevet 4. januar 2007 Skrevet 4. januar 2007 Er det noe slikt du vil ha? https://www.diskusjon.no/index.php?showtopic=679664&hl=
Creep Skrevet 4. januar 2007 Forfatter Skrevet 4. januar 2007 Ståle den dær var fin du! Litt modefisering i veriablene så funker den som gull;) Tusen takk...men må bare spørre deg, brukte du lang tid på scriptet?
Creep Skrevet 4. januar 2007 Forfatter Skrevet 4. januar 2007 Jeg har fått den fikset på siden...bare noen små endringer som må til...men du vet ikke tilfeldigvis om noen liker til "flatfile endre/slette funksjon" eller liggnende?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå