Gå til innhold

Add linker på hjemmesiden


Anbefalte innlegg

Vet noen om et php script som fungerer slik at brukeren kan legge til trykkbare linker på en hjemmeside? Et skjema øverst på siden vil møte brukeren, her kan personen legg til en url. Linkene vil så legge seg øverst på f.eks en link.html side.

 

Vet ikke helt hva jeg skal søke etter på hotscripts for noe slikt.

Lenke til kommentar
Videoannonse
Annonse

Noe à la dette?:

 

$file = "linker.dat";

$submit = $_POST['submit'];
if(!$submit)
{
echo <<<end
<form action="addurl.php" method="post">
URL: <input name="url" type="text" value="http://" />
<input type="submit" name="submit" value="Send inn URL" />
</form>
end;
}
else
{
$fp = fopen($file, 'a');
fwrite($fp, $_POST['url']."\r\n");
fclose($fp);
echo 'Adressen er lagt til';
}
$contents = file($file);
echo '<ul>';
foreach($contents as $item)
{
echo "<li><a href=\"$item\">$item</a></li>";
}
echo '</ul>';

 

 

Trenger sikkert litt finpussing, men dette er iallefall basic hvordan man får det til.

 

Idé: fikse et regexp som sjekker om det er en gyldig webadresse som postes.

 

:thumbup:

Lenke til kommentar

Det kaller jeg service lokaltog!

 

Men siden jeg ikke er noen racer på php hvordan går jeg da frem for å få dette til å fungere. Først lage en fil som heter addlinker.php med koden over i. Så includerer jeg den i den ønskede siden med en

 

<?PHP
include("addlinker.php");
?>

 

Må jeg også lage en fil som heter linker.dat? Går utifra at det er dit url'ene blir lagt?

 

Hvordan kan jeg sjekke som du never om det er gyldig url? regexp, hadde kanskje vært en idè, men vil ikke være til så mye bry så det som du allerede har laget holder sikkert lenge.

 

Tusen takk :D

Lenke til kommentar

Tror ikke du MÅ opprette filen linker.dat, den skal vel opprette seg selv (pga. append-mode, for de som måtte lure). Men for sikkerhets skyld kan du opprette den, og CHMOD'e til 646.

 

Kan se på regex en gang jeg får tid! Si ifra om noe er feil i scriptet da. :)

Endret av lokaltog
Lenke til kommentar

Måtte visst lage linker.dat filen. Fungerte glimmrende. Bare 2 spørsmål.

 

1) Hvordan får jeg linkene til å dukke opp i nye vinduer fremfor samme vindu? Kan jo vanligvis gjøres med koden target="other", men hvis jeg putter den inn her:

 

{
echo "<li><a href=\"$item\" target="other">$item</a></li>";
}

 

Får jeg feilbeskjed. Må dette gjøres på en annen måte siden det er php?

 

2) Er det mulig å få url boksen og submit knappen til fortsatt å være synlig etter å ha addet en link? Adder jeg nå en link kommer jeg til samme side som den jeg adder linker fra, men boksen som adder linker er borte. Gjør det litt vanskelig å adde flere linker på en gang. Virker også som om det er litt vanskelig å komme tilbake til boksen.

 

Uansett takk for hjelpen så langt :)

Lenke til kommentar
1) ...Får jeg feilbeskjed. Må dette gjøres på en annen måte siden det er php?

 

2) Er det mulig å få url boksen og submit knappen til fortsatt å være synlig etter å ha addet en link? Adder jeg nå en link kommer jeg til samme side som den jeg adder linker fra, men boksen som adder linker er borte. Gjør det litt vanskelig å adde flere linker på en gang. Virker også som om det er litt vanskelig å komme tilbake til boksen.

Bruk dette scriptet, der har jeg fikset på det du nevner:

 

$file = "linker.dat";

echo <<<end
<form action="addurl.php" method="post">
URL: <input name="url" type="text" value="http://" />
<input type="submit" name="submit" value="Send inn URL" />
</form>
end;

$submit = $_POST['submit'];

if($submit)
{
$fp = fopen($file, 'a');
fwrite($fp, $_POST['url']."\r\n");
fclose($fp);
echo 'Adressen er lagt til';
}
$contents = file($file);
echo '<ul>';
foreach($contents as $item)
{
echo "<li><a href=\"$item\" target=\"other\">$item</a></li>";
}
echo '</ul>';

 

Når du skriver i en streng med doble anførselstegn i PHP må du "escape" andre doble anførselstegn, slik at det ikke blir target="other", men target=\"other\". Det samme gjelder med enkle anførselstegn.

Lenke til kommentar

Her har du et ferdig skript som legger til og skriver ut linker til og fra en tekstfil.

 

<?
if(empty($_POST)) {
#HTML form
echo "<table>";
echo "<form method='post' action='$_SERVER[PHP_SELF]'>";
echo "<tr><td>Link</td><td>:</td><td><input type='text' name='link' value='http://www.'></td>";
echo "<td>Navn</td><td>:</td><td><input type='text' name='navn'></td>";
echo "<td><input type='submit' name='add' value='LeggTil'></td></tr>";
echo "</form></table><br>";
}

else {
# Sjekker om brukeren har fylt ut html boksene
if(empty($link)||empty($navn)) {
echo "Fyll ut alle felt!<br>";
echo "<a href=index.php>Gå Tilbake</a></p>";
exit;
}

#Åpner filen
$apne_fil = fopen("linker.txt", "a");

#Skriver til filen linker.txt
fwrite($apne_fil, "$link;");
fwrite($apne_fil, "$navn;");
fwrite($apne_fil, "\n");
fclose($apne_fil);
echo "<a href=index.php>Leggtil link</a></p>";
}

#Skriver ut innholdet av tekstfilen og splitter opp innholdet av hver linje.
echo "<table border=1 cellpadding=4 cellspacing=0>";
echo "<tr><td bgcolor=lightgrey>Linker</td></tr>";

#Lager en matrise av teksfilen
$skriv_ut = file("linker.txt");
sort($skriv_ut);

#Splitter opp innholdet
foreach ($skriv_ut as $linje) {
$del=split(";",$linje);
echo "<tr><td><a href='$del[0]' target='_blank'>$del[1]</a></td></tr>";
}
echo "</table>";
?>

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...