Gå til innhold

Logikk feil hvis jeg ikke tar enda mer feil...


Anbefalte innlegg

Hei :)

Har et problem, skjønner ikke helt hva jeg gjør feil.. :'(

 

news.txt

**_^^_**#1 overskrift**_^^_**#1 nyhet her**_^^_**#2 overskrift**_^^_**#2 nyhet her**_^^_**#3 overskrift**_^^_**#3 nyhet her**_^^_**#4 overskrift**_^^_**#4 nyhet her**_^^_**#5 overskrift**_^^_**#5 nyhet her

 

test.php (heter test.php siden jeg driver å tester den)

Klikk for å se/fjerne innholdet nedenfor

<?php
$fil = file("news.txt");
$i = 2;

foreach($fil as $linje) {
$tekst = explode("**_^^_**", $linje);

echo $tekst[$i];
$i++;
echo $tekst[$i];
$i++;
echo $tekst[$i];
$i++;
echo $tekst[$i];
}
?>

 

nyheter_skriv.php

Klikk for å se/fjerne innholdet nedenfor

<?php
$overskrift = $_POST['overskrift']or die("Fikk ikke hentet ut infromasjon fra skjemaet!");
$nyhet = $_POST['nyhet'];
//$dato = date("h:i:s A \-d.m.y")or die("Feil oppstod!3");

$filnavn = "news.txt"or die("Feil oppstod!4");
$fil = fopen($filnavn, "r+")or die("Feil oppstod!5");
fwrite ($fil, "**_^^_**")or die("Feil oppstod!6");
fwrite ($fil, $overskrift)or die("Feil oppstod!7");
fwrite ($fil, "**_^^_**")or die("Feil oppstod!8");
//fwrite ($fil, $dato)or die("Feil oppstod!9");
//fwrite ($fil, "**_^^_**")or die("Feil oppstod!10");
fwrite ($fil, $nyhet);

echo "Nyhet ble lagt til! :)";
?>

datoen er kommentert ut siden jeg er i utviklingsfasen

 

Det jeg får opp på siden

#1 nyhet her#2 overskrift#2 nyhet her#3 overskrift

 

Wtf is wrong?

:hmm:

 

Tror feilen min ligger i test.php siden i $i'n...

 

GAMMEL POST:

Klikk for å se/fjerne innholdet nedenfor
Hei :)

Hvordan kan jeg loope $tekst[#] arrya'n min så jeg får skrevet ut alt som er i news.txt?

 

<?php
// Get a file into an array.  In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file('news.txt');

// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
$line = explode("**_^^_**", $line);
   echo htmlspecialchars($line[0]) . "<br />\n";
   echo htmlspecialchars($line[1]) . "<br />\n";
   echo htmlspecialchars($line[2]) . "<br />\n";
   echo htmlspecialchars($line[3]) . "<br />\n";
}
?>

Endret av Hayer
Lenke til kommentar
Videoannonse
Annonse

ja, men hvordan bruker jeg den?

Har prøvd lit nå..

 

Har en fil som heter "news.txt", skiller overskrift å nyhet med **_^^_**

f.eks

overskrift**_^^_**nyhet**_^^_**osv

 

skriver til fil slik(etter å h åpnet den)

fwrite($fil, "**_^^_**");

fwrite($fil, $overskrift);

fwrite($fil, "**_^^_**");

fwrite($fil, $nyhet);

 

Hvordan får jeg da ut infoen så at jeg får

OVERSKRIFT

Nyhet

 

OVERSKRIFT

Nyhet

 

and so on, helt til jeg har nådd slutten av filen... :)

Lenke til kommentar

Som ???? nevner gjør du dette veldeg bakvendt...

 

Koden under vil gjør det du vil få til mye meir effektivt.

 

PHP

$content = explode('**_^^_**', file_get_content('news.txt'));

 

$total = count($content); //Should be dividable by two! if everything is correct

 

for ($nr=0; $nr < $total;++$nr)

{

echo '<strong>'.$content[$nr++].'</strong><br />'.$content[$nr];

}

 

PS: Fjern den begynnende "**_^^_**" fra fila...! Den har ingenting der å gjør i det heile tatt. Deretter legger du til alle nye nyhetene slik som dette **_^^_**#overskrift**_^^_**#nyhet her, vist det ikkje er nyheter i fila må den første legges til slik som dette #overskrift**_^^_**#nyhet her.

 

Du kan også bruke andre måter å skille informasjonen, problemet uansett vil være line break i nyhetene. + line lenght (alt etter korleis du henter opp filen). Som regel er databaser eit mye bedre valg til å lagre denne type data.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...