Gå til innhold

Hvorfor vises kun siste...


Anbefalte innlegg

av det som blir lagt til?

 

$fo = fopen("$fil", "w+");
fwrite($fo, "\n\nNavn: $navn<br />Email: $email<br />Hilsen: $hilsen<br /><br />\n\n");
fclose($fo);

 

Det er kun den hilsenen som blir lagt til som vises. Også erstattes den med eksisterende hilsen som allerede ligger i gjestebok.txt

 

Hvordan kan jeg gjøre slik at jeg kan legge til fler hilsener, uten at noe blir borte ?

 

_________

 

Hele koden:

 

<?php
$fil = "gjestebok.txt";

if(isset($_POST['gb'])) {

	$navn = htmlspecialchars($_POST['navn_gb'], ENT_QUOTES);
	$email = htmlspecialchars($_POST['email_gb'], ENT_QUOTES);
	$hilsen = htmlspecialchars($_POST['hilsen_gb'], ENT_QUOTES);

		if($email) {
			$pattern = '/^[^@]+@[^\s\r\n\'";,@%]+$/';
			if(!preg_match($pattern, trim($email))) {
				$error[1] = 'Emailen din er ugyldig!';
			}	
		}

			$fo = fopen("$fil", "w+");
			fwrite($fo, "\n\nNavn: $navn<br />Email: $email<br />Hilsen: $hilsen<br /><br />\n\n");
			fclose($fo);

}
include $fil;
?>
* = <strong>må fylles ut!</strong><br />
<form action="" method="post">
* Ditt navn:<br />
	<input type="text" name="navn_gb" /><br />
Din e-mail:<br />
	<input type="text" name="email_gb" /><br />
* Hilsen:<br />
	<textarea rows="4" cols="40" name="hilsen_gb"></textarea><br />
<input type="submit" name="gb" value=" Legg Til! " style="width:200px; height:30px;" />   <input type="reset" value=" Avbryt! " />
</form>

 

Endret av creAtiive
Lenke til kommentar
Videoannonse
Annonse
Står i manualen.

$fo = fopen("$fil", "w+");
			 fwrite($fo, "\n\nNavn: $navn<br />Email: $email<br />Hilsen: $hilsen<br /><br />\n\n");
			 fclose($fo);

Erstatt med:

file_put_contents($fil, "\n\nNavn: $navn<br />Email: $email<br />Hilsen: $hilsen<br /><br />\n\n", FILE_APPEND);

 

Takk, ja!

Skal se i manualen.

 

Fungerte nå, men det nyesteinnleget kom ikke øverst nå heller :s

Hvor kan jeg sette inn w+ ?

Endret av creAtiive
Lenke til kommentar
Det er fordi du har to newlines før innlegget. Du trenger i grunn bare èn newline på enden av innlegget.

 

Du trenger ikke w+.

 

Den gamleste innlegget er øverst.. De nye kommer under. Det skal være omvendt..

 

Med dette:

file_put_contents($fil, "Navn: $navn<br />Email: $email<br />Hilsen: $hilsen<br />", FILE_APPEND);

 

Hva i koden skal jeg gjøre om ?

Lenke til kommentar
Samma det vel. Du kan hente innleggene med file() og bruke array_reverse()

 

Kan du hjelpe meg litt på vei ? :p

 

Skrevet dette:

$hent = file(array_reverse("gjestebok.txt"));//(TOPPEN)
echo $hent;// (NEDERST DER JEG INKLUDERTE)

 

Men fungerer ikke :ermm:

Endret av creAtiive
Lenke til kommentar
1. Du bruker funksjone i feil rekkefølge.

2. Du kan ikke printe arrays som strenger.

:p

 

<?php
$file = file('gjestebok.txt');

$lines = array_reverse($file);

foreach ($lines as $entry)
{
  echo $entry;
}

echo 'There are '.count($file).' entries.';

 

 

Tusen Takk :)

 

Et spørsmål til:

Hvorfor kan jeg ikke ha if(); i denne?

file_put_contents($fil, "\n\n<a href=\"mailto:'" . if(!$email) { echo "test"; } . "'\">Navn:</a> $navn<br />Hilsen: $hilsen<br /><br />\n\n", FILE_APPEND);

Endret av creAtiive
Lenke til kommentar

Å herre.. Hvis du ikke en gang klarer å lese dokumentasjonen, så kanskje det er bedre å holde seg unna hele emne.

 

The expression (expr1) ? (expr2) : (expr3) evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE.

 

Ternary Operators er en måte å evaluere uttrykk inline. Ta en nærmere titt.

Lenke til kommentar
Å herre.. Hvis du ikke en gang klarer å lese dokumentasjonen, så kanskje det er bedre å holde seg unna hele emne.

 

The expression (expr1) ? (expr2) : (expr3) evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE.

 

Ternary Operators er en måte å evaluere uttrykk inline. Ta en nærmere titt.

 

 

Jeg vet da ikke hvor jeg skal sette inn : og ? her:

 

if(!$email) { echo "test"; }

 

??

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...