Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:09 Der er 66 kommentarer og
1 løsning

Erstatte ,Enter, med ingenting??

Hey.
Er der ikke en måde, så man kan erstatte et tryk på Enter knappen, med ingenting? Altså sådan at der ikke kommer et linjeskift? Jeg har nemlig et script som tæller de linjer der er i en txt fil, men den virker ikke rigtig, kun hvis man ikke kan bruge Enter knappen...
Avatar billede tipsen Nybegynder
15. marts 2002 - 00:11 #1
hvis man ikke kan bruge enter knappen, kan man vel kun lave én linie... - så din funktion til at tælle linier ser sådan ud:

function taellinier() {return 1}

:-)
Avatar billede tipsen Nybegynder
15. marts 2002 - 00:12 #2
nahh... just kiddin'... - Jeg vil foreslå, at du bruger nl2br() - så får du konverteret alle linieskift til <br/> - som er html-koden for linieskift - er det brugbart?
Avatar billede tipsen Nybegynder
15. marts 2002 - 00:13 #3
eller måske kan du lave en strreplace på chr(10) og chr(13)...
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:14 #4
tipsen ->> Jeg skriver lige koden her.... for nu er jeg forvirret...

Tilføjer linje:
<?
$ip = getenv('REMOTE_ADDR');
if (($ip == "12") || ($ip == "12")){
echo "<p><font color=#FF0000 face=Verdana size=2>Din adgang til denne side er blokeret</font></p>";
exit;
}else{
$fil = "links.txt";
$ingenbe = "Ingen beskrivelse";
if($adresse && $titel) {
$titel = stripslashes($titel);
$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse && $titel) {
$str  = "$titel<br><font color=#999999 size=1></font><br><br>\n";
$str  = "<a href=$adresse target=_blank><b>$titel</b></a><br>$beskrivelse&nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
} else {
$str  = "$titel<br><font color=#999999 size=1></font><br><br>\n";
$str  = "<a href=$adresse target=_blank><b>$titel</b></a><br>$ingenbe &nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}
}
?>

Viser og tæller linjer:
<?php  readfile ("links.txt") ?>
<?echo 'Antal links: ' . count(file('links.txt'));?>
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:15 #5
Det som jeg prøver på, er at deaktivere linjeskift
Avatar billede tipsen Nybegynder
15. marts 2002 - 00:26 #6
nu er jeg forvirret - jeg aner ikke hvad dit script gør, men:

1. Er det brugerens mulighed for at indtaste et linieskift i eks. en formular du vil slå fra - så er det umuligt (tror jeg)!

2. Vil du læse en fil og slette alle linieskift fra filen - muligt, men nok dumt!?

Derfor har jeg nok ikke fattet det... - please explain...
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:30 #7
Det er vist 1'eren.. Når min side viser linjerne, så bliver de vist i én linje... Det skal den gøre. Det gør den også, selvom der bliver trykket på enter for ny linje.. Men inde i selve txt filen, det er der der kommer linjeskift, så derfor kan den ikke tælle hvor mange linjer der er. Ved godt det er en smule forvirrende...
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:32 #8
eller jo, den kan godt tælle linjerne, men det passer ikke meddet står på siden.....
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 00:37 #9
Her er et eksempel:

-- Det her vises på siden --
Link01
En lille beskrivelse til linket....1 2 3 4

-- Men det her står i txt filen --
Link01.En lille beskrivelse til siden
1
2
3
4


Så virker tælleren ikke særlig godt jo
Avatar billede tipsen Nybegynder
15. marts 2002 - 01:36 #10
Vil du bare have gjort sådan, at der i tekstfilen står det rigtige fra start af - dvs. på én linie!
Avatar billede emileej Nybegynder
15. marts 2002 - 06:42 #11
Hmm - erstatter enter (\n) med ingenting:
$indhold=str_replace(implode("\n",file("minfil.txt")),"","\n");
eller endnu simplere:
$indhold=implode("",file("minfil.txt"));

E-)mil
http://mfp.eej.dk
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 16:29 #12
tipsen! Lige præcis
Avatar billede emileej Nybegynder
15. marts 2002 - 18:08 #13
Ahaaa - du vil gemme det i filen igen :o) fair nok :)

$filnavn="minfil.txt";
$indhold=implode("",file($filnavn));
$out=fopen($filnavn,"w");
fwrite($out,$indhold);
fclose($out);

E-)mil
http://mfp.eej.dk
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 19:16 #14
emileej og tipsen -> Hvis er forvirrede, for det er jeg nu, så kan i selv prøve det her: www.brideonline.dk/test/tlink.php :)
Så kan i se oversigten her: www.brideonline.dk/test/olink.php
og selve kilde filen kan i se her: www.brideonline.dk/test/links.txt

Så når i skriver en beskrivelse, så prøv at trykke på enter og skriv noget nyt...
Husk at når i ser på txt filen, så skal i ha' vist kilden, ellers kan i ikke se hvad jeg mener... :)
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 19:22 #15
ps: så kan i jo også se at tælleren ikke virker mere, når folk bruger enter tasten... en smule skod
Avatar billede tipsen Nybegynder
15. marts 2002 - 21:40 #16
bounce: ok - nu kan jeg se, hvad dit problem er - post din kode så fikser jeg det! - har selv haft problem a lá det!
Avatar billede snigermunken Nybegynder
15. marts 2002 - 21:50 #17
hehe det tog sgu sin tid at fatte hvad problemet er, men.. ja det er lidt svært med det system, prøv:
<?
$ip = getenv('REMOTE_ADDR');
if (($ip == "12") || ($ip == "12")){
echo "<p><font color=#FF0000 face=Verdana size=2>Din adgang til denne side er blokeret</font></p>";
exit;
}else{
$fil = "links.txt";
$ingenbe = "Ingen beskrivelse";
if($adresse && $titel) {
$titel = stripslashes($titel);
$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse && $titel) {
$str  = "$titel<br><font color=#999999 size=1></font><br><br><a href=$adresse target=_blank><b>$titel</b></a><br>$beskrivelse&nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
} else {
$str  = "$titel<br><font color=#999999 size=1></font><br><br><a href=$adresse target=_blank><b>$titel</b></a><br>$ingenbe &nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}
}
?>

Og se om der hjælper, eller bruge en ekstra txt fil som du bruger til at tælle antal links, det vil sige hver gang der oprettes et link, så lægger du linket osv i links.txt og i counter.txt lægger du en til $antal + 1 og bruger counter.txt som counter istedet for links.txt.

Men det letteste ville være at bruge mysql.
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:20 #18
øøøøv det virker ikke... Du skriver den 2x titel.....

Meeeeeen hvordan lægger jeg så lige et tal til counter.txt filen?
ps : MySQL er ikke lige min kop kaffe (endnu)... men har dog formået lave en slags nyheds dims... :)
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:20 #19
Du = Den
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:23 #20
Du = Den = Nu........ Du har været inde og teste kan jeg se :D
Avatar billede snigermunken Nybegynder
15. marts 2002 - 22:27 #21
At lave et link system med mysql er faktisk meget let :) men det kan du finde ud af når du prøver det engang.

Men jeg tror da fanden at den skriver titel to gange når der er bedt om det :) prøv denne her:

<?
$ip = getenv('REMOTE_ADDR');
if (($ip == "12") || ($ip == "12")){
echo "<p><font color=#FF0000 face=Verdana size=2>Din adgang til denne side er blokeret</font></p>";
exit;
}else{
$fil = "links.txt";
$ingenbe = "Ingen beskrivelse";
if($adresse && $titel) {
$titel = stripslashes($titel);
$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

if ($beskrivelse && $titel) {
$str  = "<a href=$adresse target=_blank>$titel</b></a><br>$beskrivelse&nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
} else {
$str  = "<a href=$adresse target=_blank><b>$titel</b></a><br>$ingenbe &nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}
}
?>
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:31 #22
hmmm... det ser underligt ud... :) Det kan man bare ikke så?
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:34 #23
Så skal jeg sgu bruge en anden fil til det... Hvis du gider at lave en lille kode, så smækker jeg 100p oveni
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:34 #24
hvis det altså ikke er alt for 'bøvlet' det du skal lave :D
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:37 #25
kan man ikke erstatte \n med &nbsp; kom jeg lige i tanke om...
f.eks.
$beskrivelse = ereg_replace("\n","&lt;",$beskrivelse); ???
Avatar billede snigermunken Nybegynder
15. marts 2002 - 22:41 #26
Det er kode til en txt counter.
<?
$fil = fopen("counter.txt", "r");
$antal = fgets($fil, 1096);
fclose ($fil);
echo $antal++;
$fil = fopen("counter.txt", "w");
fwrite($fil, $antal);
fclose ($fil);
?>

jeg tror du skal droppe det med at tælle linierne i links.txt for det er alt for upræsist kan du se :)
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:46 #27
ja... men jeg siger tak for hjælpen! :)
Nu vil jeg lige prøve kigge på den counter.txt...
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:47 #28
du skulle da lige ha' nogle point... Så lav lige et svar her da
Avatar billede snigermunken Nybegynder
15. marts 2002 - 22:49 #29
men hvorfor går du ikke igang med mysql? det er meget lettere, jeg har ikke den vilde forstand på brug af txt filer i php da jeg startede hurtig med mysql.

Men vis du gider sende mig alle filerne til det skript så kan jeg lege lidt bedre med det og måske få det du har lavet nu til at virke "bedre".
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:50 #30
heeeeeyyyy!!!! det lyder kanon!!! - din mail??
Avatar billede snigermunken Nybegynder
15. marts 2002 - 22:52 #31
steen@carlypope.dk
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:53 #32
vil ha' hele lortet, billeder osv. ?
Avatar billede snigermunken Nybegynder
15. marts 2002 - 22:55 #33
nej det er ikke nødvendigt bare de filer du bruger til linksystemet.
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 22:57 #34
ok. sender dem nu
Avatar billede tipsen Nybegynder
15. marts 2002 - 22:59 #35
I stedet for:

$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);

Skriver du

$beskrivelse = nl2br(htmlentities($beskrivelse));

Så fungerer det...

Først bliver alle html-tags konverteret til ren tekst, således at man ikke kan ødelægge din side ved at skrive nogle "grimme" tags i beskrivelsen og derefter bliver de linieskift, som er indsat med enter/return udskiftet med koden </br>, som er linieskift i (x)html - og resultatet af dette bliver gemt i filen på én linie - men samtidig stadig med pænt output!
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:01 #36
tipsen -> Prøver lige... 2 sek
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:06 #37
tipsen -> Det er det samme... Hvis du vil teste, så bare slå dig løs her: www.brideonline.dk/test/tlink.php - derefter www.brideonline.dk/test/olink.php
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:08 #38
de koder der bliver postet her, bliver smidt ud (næsten) med det samme
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:10 #39
ps: "tælleren" kan ses forneden
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:13 #40
bounce2002 læg et svar og giv dig selv point:

<?
$ip = getenv('REMOTE_ADDR');
if (($ip == "12") || ($ip == "12")){
echo "<p><font color=#FF0000 face=Verdana size=2>Din adgang til denne side er blokeret</font></p>";
exit;
}else{
$fil = "links.txt";
$ingenbe = "Ingen beskrivelse";
if($adresse && $titel) {
$titel = stripslashes($titel);
$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = ereg_replace("<","&lt;",$beskrivelse);
$beskrivelse = ereg_replace(">","&gt;",$beskrivelse);
$beskrivelse = ereg_replace("(\n\r|\r\n)","&nbsp;",$beskrivelse);

if ($beskrivelse && $titel) {
$str  = "<b><a href=$adresse target=_blank>$titel</b></a><br>$beskrivelse&nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
} else {
$str  = "<b><a href=$adresse target=_blank><b>$titel</b></a><br>$ingenbe &nbsp;&nbsp;<font color=#999999 size=1></font><br><br><hidden $ip>\n";
}
$fp = fopen($fil, r);
if($fp) {
$filArray = file($fil);
$result = implode("", $filArray);
$result = "$str$result";
fclose($fp);
}
$fp = fopen($fil, w);
if($fp) {
fputs($fp, $result); 
fclose($fp);
}


}
}
?>
<FORM ACTION="tlink.php">
<font size="1" color="#000000" face="verdana">Sidens titel: (max 40 tegn)<BR>
<input type="text" name="titel" size="30" maxlength="40"><BR>
<font size="1" color="#000000" face="verdana">Link url:<BR>
<input type="text" name="adresse" value="http://" size="30"><BR>
<font size="1" color="#000000" face="verdana">Beskrivelse af siden:</font><br>
<textarea name="beskrivelse" cols="40" rows="7"></textarea><br>
<input type="submit" value="Tilføj">
<input type="reset" value="Nulstil"></FORM><br>
<p align="center"> <font color="#FF0000">bla bla bla</p>
</p>

Du fandt selv løsningen :)
Avatar billede tipsen Nybegynder
15. marts 2002 - 23:13 #41
Prøv lige at poste din nuværende kode! Jeg har præcis samme system - bare hvor resultatet gemmes i en mysqldb - og der fungerer det fint - det undrer mig jo lidt...
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:14 #42
sniger ->> hvad? hvordan ???
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:15 #43
denne linie: $beskrivelse = ereg_replace("(\n\r|\r\n)","&nbsp;",$beskrivelse);
ændre linieskift til et mellemrum du var slev inde på det.
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:15 #44
tipsen -> Koden ligger oppe i toppen på denne side..
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:16 #45
sniger -> Dén kode, det er den præcise kode ik??
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:17 #46
hvad mener du?

Det kode har jeg lige rodet med jeg lavede en kommentar med 25 linieskift i den blev talt som en, så virker det jo :)
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:20 #47
KANON!!!! Har lige testet!! Den virker sgu!!! :))))))) Har siddet og rodet med den lille satan i evigheder!!! 10000000000000 tak for hjælpen !!!! Det er virkelig godt det her!! :))
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:21 #48
sniger -> Lav lige et svar! Det for godt det her!!!! Nu kan jeg endelig komme videre!!!! Yiiiiiirrrr !!!
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:21 #49
ja og som kommer du selv med svaret :)
Avatar billede tipsen Nybegynder
15. marts 2002 - 23:21 #50
...mener stadig, at man bør konvertere linieskift til html-linieskift - hvis brugeren laver linieskift, skal de nok være der...

bounce2002: Jeg mente, at du havde åbenbart prøvet nl2br og htmlentities uden held og det undrede mig, da det fungerer for mig - derfor ville jeg gerne se præcis hvordan din kode så ud med de funktioner...
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:22 #51
du svarede jo selv på problemet

Kommentar fra bounce2002
15/03-2002 22:37:24    kan man ikke erstatte \n med &nbsp; kom jeg lige i tanke om...
f.eks.
$beskrivelse = ereg_replace("\n","&lt;",$beskrivelse); ??? 


Så det kan jeg ikke tage point for.
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:23 #52
tipsen-> ved du overhoved hvad problemet var? (ikke et angreb men et almindelig spørgsmål)
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:25 #53
Jeg er SÅ glad lige nu!!!! Uuuuuhuuuu!!! Tipsen & Munken : Så deler i!!! I SKAL ha point!!! :))
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:27 #54
Tipsen -> Hvis brugeren laver linjeskift, lige i dén her del som jaeg har lavet, så skal de ikke være der......
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:29 #55
Sniger !!!!! Lav nu et svar da !!!!!!!! :)
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:31 #56
nix det var dig der svarede på spørgsmålet tag dem igen, du har jo ikke så mange afligevel.
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:34 #57
sniger -> Hold nu op!!! Det var dig der kom med den præcise kode!!! Lige den jeg manglede!!! Så du får alle point!!! :)))))) Yiaaaaahahahaha
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:36 #58
har du virkelig kæmpet med den i så lang tid? :)

Vis du lægger et svar så lægger jeg et svar så giver du mig højst 6 point.
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:36 #59
Jeg er så glad lige nu!! Det kan overhovedet ikke beskrives!! :))))
Yiiiiiihaaaaaa!!!
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:37 #60
sniger ->> Nu stopper du!!! Svar så din lille satan !! :))
Avatar billede bounce2002 Nybegynder
15. marts 2002 - 23:39 #61
ok, jeg laver et nyt spm... Den hedder SNIGERMUNKEN!!
Avatar billede snigermunken Nybegynder
15. marts 2002 - 23:39 #62
3 gode grunde.

1. Du svarede på spørgsmålet.
2. 150 point er formeget.
3. Du skal ikke bruge dine sidste point på det her spørgsmål.
Avatar billede tipsen Nybegynder
15. marts 2002 - 23:59 #63
sniger:

Jeg har faktisk undervejs været en del i tvivl om problemet, hvorfor jeg også flere gange undervejs bad om forklaring og/eller kode, men...

Jeg vil mene, at problemet var de linieskift der kunne snige sig ind i en formular - og jeg vil mene løsningen er at konvertere de selvsamme linieskift til <br/> koder og gemme linkposten på én linie i tekstfilen!

Så har man en en fleksibel tekstfil, hvor oplysningerne om brugernes linieskift også er gemt og den er nem at tilgå, tælle op osv.

Er det korrekt forstået?

Hehe - men I er da godt lige gået amok med antal poster :-)
Avatar billede snigermunken Nybegynder
16. marts 2002 - 00:05 #64
:) hehe ja :)

Problemer var:

hans link tæller til at tælle antal links var baseret på at han talte antallet af linier i links.txt, men problemet var at vis en bruger skrev:

Hey tjek denne side

Den er for sej

Så blev et link talt som 4 links i hans counter fordi den blev smidt ind i txt filen på 4 linier.

Derfor ville han havde en måde så de hele blev skrevet på en linie og blev talt som et link.
Avatar billede tipsen Nybegynder
16. marts 2002 - 00:43 #65
BTW: bounce: tilføj lige en METHOD="POST" i dit FORM tag - så kan du ikke se variablene i url'en!

Den måde det fungerer på nu er ved at fjerne linieskift, hvilket jeg mener er forkert - jeg prøvede lige at indsætte et link, hvor jeg brugte linieskift til en opsætning - og det bliver jo helt smadret, hvilket er lidt uheldigt!

hvorfor ikke bare erstatte linieskift med <br> tagget?
Avatar billede tipsen Nybegynder
16. marts 2002 - 00:44 #66
(Jeg synes det er lidt høker - det er derfor jeg beklager mig lidt!)
Avatar billede snigermunken Nybegynder
16. marts 2002 - 00:46 #67
jeg har også lige forslået det: http://exp.dk/spm/185649

Jeg sad også og  tænkte det er ikke korrekt lavet nu.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester