Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQLite]Wykrywanie linków w formularzu
Forum PHP.pl > Forum > Przedszkole
david8213
Kod
........to jest w textarea...

echo "<td><div style=\"margin-left:5\">  <a href=".$r->dane." > ".$r->dane." </a> </td>";


Wszystko jest dobrze dopóki nie wstawię kilka linków klikając enter
wtedy powstaje kicha. jak zrobić to że by po kliknięciu enter tworzył się link automatycznie wraz z opisem?
erix
Co w ogóle chcesz osiągnąć...? Bo nie jestem w stanie zrozumieć, o co Ci chodzi...

Poza tym, jak można kliknąć "enter"? Masz skrypt z takim przyciskiem, czy jak? Naprawdę podajesz wszystko lakonicznie, że nie sposób się domyśleć, co robisz nie tak.
david8213
Zobacz sam. Jak dodasz opis ... i adres strony .... (tylko jeden - to jest w porządku). Natomiast jak dodasz kilka adresów jeden pod drugim (oddzielając enterem) zobacz sam co się dzieję

Kod
index.php

<table style="border-bottom: none;" width="100%" cellSpacing=0 cellPadding=0 border=1 bordercolor=red><tr><td width=80><div style="margin-left:4">strona</td><td style="border-left-color: red;"><div

style="margin-left:4">opis</td></tr></table>
<?php
$baza = 'test.db';
$db = sqlite_open($baza)
or die('Nie mogę otworzyć bazy!');

$wynik = sqlite_query($db,"SELECT * FROM przyklad ORDER BY adres")
or die(sqlite_error_string(sqlite_last_error($db)));

if(sqlite_num_rows($wynik) > 0) {
  
    echo "<table style=\"border-left-width: thin;\" width=\"100%\" cellSpacing=0 cellPadding=0 border=1 bordercolor=red>";
    while($r = sqlite_fetch_object($wynik)) {
        echo "<tr>";
        echo "<td width=\"80\"><div style=\"margin-left:5\"> ".$r->opis."</td>";
        echo "<td><div style=\"margin-left:5\"> <a target=blank href= ".$r->adres." > ".$r->adres." </a> </td>";
        echo "<td width=\"70\"><div style=\"margin-left:5\">
       <a href=\"del.php?a=del&id={$r->id}\">DEL |</a>
       <a href=\"edit.php?a=edit&id={$r->id}\"> EDIT</a>
       </td>";
        echo "</tr>";
    }
    echo "</table>";
}
/* zamykamy bazę */
sqlite_close($db);



?>

<p>
<form action="save.php" method="post">
<br>
<textarea name="adres" rows=8 cols=50>adres strony</textarea><br>
<input type="text" name="opis" value=" opis" SIZE=58>
<input type="submit" value="wyslij" />
</form>
<p>


Kod
save.php

<?php



$baza = 'test.db';
$db = sqlite_open($baza)
or die('Nie mogę otworzyć bazy!');
/* odbieramy dane z formularza */
$opis = sqlite_escape_string(trim($_POST['opis']));
$adres = sqlite_escape_string(trim($_POST['adres']));

$adres = ereg_replace("\n", "<br>", $adres);


/* zapisujemy dane do bazy */
if($opis and $adres) {
    sqlite_query($db,"INSERT INTO przyklad VALUES (NULL,'$opis', '$adres')")
    or die(sqlite_error_string(sqlite_last_error($db)));
    echo 'Dane zostały zapisane';
}
else echo 'Wypełnij oba pola formularza!';

?>

<script LANGUAGE="JavaScript">
if(top.frames.length==0) {
document.write("<B></B>");
window.clear;
window.location.href="index.php";
}
else
{ document.write("index.php"); }
</SCRIPT>



Utwórz sobie tabelę:
Kod
<?php

$baza = 'test.db';
$db = sqlite_open($baza);
sqlite_query($db, "CREATE TABLE przyklad (id INTEGER NOT NULL PRIMARY KEY, opis VARCHAR(100) NOT NULL, adres VARCHAR(100) NOT NULL)")
or die(sqlite_error_string(sqlite_last_error($db)));
echo "Plik bazy został utworzony!";

?>
erix
A nie masz przypadkiem za małych limitów długości znaków...?
david8213
nie mam limitów za małych

Wytłumaczę inaczej o co mi chodzi.

Za każdym razem jak wpisuję jakiś tekst który zaczyna się od http://
chcę aby tworzył się do niego automatycznie odnośnik.
Sprawa jest o tyle trudniejsza że w tekstarea są zwykłe zdania i np link lub kilka linków
jak to wyróżnić ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.