Toon posts:

[PHP]

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een form met een invoerveld bericht. Nu wilde ik als de gebruiker een postje maakt dat het invoerveld automatisch bij een 'enter' /n of <br> doet en bij invulling van www. of http:// er automatisch een url van maakt.
Heb nu dit:

PHP:
1
2
3
4
5
6
7
8
9
//Mailto-links maken van e-mail adressen
$bericht = preg_replace("#(^|[\n\r\t\\[\]\.\,\(\) ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\" class=derde>\\2@\\3</a>", $bericht);

//Links maken
$bericht = preg_replace("#(^|[\n\r\t \(\)\,\?\!\&;:\#\*\-~\"\'\.\|\\[\]])(((www.))([a-z0-9\-\.\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"http://\\2\" target=\"_blank\" class=derde>\\2</a>", $bericht);
$bericht = preg_replace("#(^|[\n\r\t \(\)\,\?\!\&;:\#\*\-~\"\'\.\|\\[\]])(((http://))([a-z0-9\-\.\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"\\2\" target=\"_blank\" class=derde>\\2</a>", $bericht);

//De enter maken
$bericht = nl2br($bericht);


Dit alles staat voor de mysql_query.

Maar hij doet het niet :?.

Heb nog wat geprobeerd met het volgende:
PHP:
1
$bericht = eregi_replace("\n","<br>",$bericht);


Maar deze werkte ook niet.


Wat is en/of doe ik fout?

  • Bubbaman
  • Registratie: Juli 2003
  • Laatst online: 20-03-2022
in ieder geval \n\r\t veranderen naar \r\n...
En pas je topic een beetje aan svp... zo nietszeggend...

[ Voor 40% gewijzigd door Bubbaman op 24-12-2003 00:00 ]


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Maar hij doet het niet :?.
Maar wat gebeurt er dan wél?
offtopic:
En er volgenden spuit elf en twaalf... :D

[ Voor 28% gewijzigd door creative8500 op 24-12-2003 00:01 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

wat doet 'ie niet en wat heb je zelf al geprobeerd :? het is btw \n en niet /n

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • bigben04
  • Registratie: December 2001
  • Laatst online: 07-05 10:38
1. Je code verneukt de layout ;)
2. Je topictitel mist iets
3. Wat betekent 'hij doet het niet'? Hoe ziet het bericht eruit nadat je je regexp's erop hebt losgelaten, dat geeft wellicht wat meer hints over wat er fout gaat.

edit: en ik moet sneller typen :)

[ Voor 9% gewijzigd door bigben04 op 24-12-2003 00:01 ]


Verwijderd

Topicstarter
Nou hij doet dus geen enter geven en ook geen url printen.

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Verwijderd schreef op 24 december 2003 @ 00:00:
Nou hij doet dus geen enter geven en ook geen url printen.
Waarschijnlijk zit de fout juist in andere code. Zou je die dan tevens willen delen met ons?

Verwijderd

Topicstarter
Hier is ie, hoop dat het duidelijk is voor jullie:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
include("Includes/inc_connect_db.php");

//Mailto-links maken van e-mail adressen 
$bericht = preg_replace("#(^|[\n\r\t\\[\]\.\,\(\) ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\" class=derde>\\2@\\3</a>", $bericht); 

//Links maken 
$bericht = preg_replace("#(^|[\n\r\t \(\)\,\?\!\&;:\#\*\-~\"\'\.\|\\[\]])(((www.))([a-z0-9\-\.\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"http://\\2\" target=\"_blank\" class=derde>\\2</a>", $bericht); 
$bericht = preg_replace("#(^|[\n\r\t \(\)\,\?\!\&;:\#\*\-~\"\'\.\|\\[\]])(((http://))([a-z0-9\-\.\?!%\*_\#:;~\\&$@\/=\+]+))#i", "\\1<a href=\"\\2\" target=\"_blank\" class=derde>\\2</a>", $bericht); 

//De enter maken
$bericht = nl2br($bericht); 

if(isset($_POST[nieuwsreactie])) {

if($_POST[naam] == '') { $_POST[naam] = "anoniem";}

if($_POST[email] == '') { $_POST[email] = "anoniem";}

$_POST[date] = date("d-m-Y H:i");

mysql_query("INSERT INTO nieuwsreactie(replyid,bericht,naam,date,email) VALUES('$_POST[replyid]','$_POST[bericht]','$_POST[naam]','$_POST[date]','$_POST[email]')") or die(mysql_error());

echo"<META HTTP-EQUIV='refresh' CONTENT='0; URL=$PHP_SELF?id=$_POST[replyid]'>";

} elseif(isset($_GET[id])) {

$select="SELECT * FROM nieuws WHERE id = $_GET[id]";

$query = mysql_query($select) or die(mysql_error()); 

while ($list = mysql_fetch_object($query)) { 

$result = mysql_num_rows(mysql_query("SELECT * FROM nieuwsreactie WHERE replyid = $list->id"));

echo"
   <tr>
    <td width=80% bgcolor=#ECECED bordercolor=#838383 class=c6><b>$list->titel</b></td>
    <td width=20% align=right bgcolor=#ECECED bordercolor=#838383 class=c7>$list->dates</td>
   </tr>
   <tr>
    <td width=100% colspan=2 bgcolor=#ECECED bordercolor=#838383 class=c2>
    <br>$list->bericht
    <br><br></td>
   <tr>
    <td width=80% bgcolor=#ECECED bordercolor=#838383 class=c8>
    Geplaatst door: <a href=mailto:$list->email class=derde title=\"$list->email\">$list->naam</a>.
    <br><br></td>
    <td width=20% align=right bgcolor=#ECECED bordercolor=#838383 class=c9>
    <a href=p-nieuws.php?id=$list->id target=_blank>[img]Plaatjes/Website/Printicon.gif[/img]</a></td>
   </tr>\n
<table><br>";

echo"
<table width=95% border=1 bordercolor=FFFFFF align=center cellspacing=0 cellpadding=1>
   <tr>
    <td colspan=2 bgcolor=#4E596D valign=top bordercolor=#838383 class=c1>[img]Plaatjes/Website/Menu_nieuwsreacties.gif></td>   
[/img]\n";
$comments = mysql_query("SELECT * FROM nieuwsreactie WHERE replyid = $_GET[id] ORDER BY id ASC");

while ($list = mysql_fetch_object($comments)) {

echo"
   <tr>
    <td colspan=2 bgcolor=#ECECED valign=top bordercolor=#838383 class=c2><hr><font size=1>Geplaatst door <a href=mailto:$list->email class=derde title=\"$list->naam - $list->email\">$list->naam</a> op $list->date.</font><br><br>$list->bericht<hr></td>    
   </tr>";
}
echo"
   <tr>
    <td colspan=2 bgcolor=#ECECED valign=top bordercolor=#838383 class=c3><br></td> 
   </tr>\n
</table>

<br>";
}

echo"
<table width=95% border=1 bordercolor=FFFFFF align=center cellspacing=0 cellpadding=3>
   <tr>
    <form name=nieuws method=post>
    <tr><td colspan=2 bgcolor=#ECECED bordercolor=#838383 class=c1><b>Reageren</b><br><br></td></tr>
    <tr><td bgcolor=#ECECED bordercolor=#838383 class=c4>&nbsp;Naam:</td><td bgcolor=#ECECED bordercolor=#838383 class=c5><input type=Text name=naam size=19 maxlength=20></td></tr>
    <tr><td bgcolor=#ECECED bordercolor=#838383 class=c4>&nbsp;E-mail:</td><td bgcolor=#ECECED bordercolor=#838383 class=c5><input type=Text name=email size=19 maxlength=60></td></tr>
    <tr><td bgcolor=#ECECED bordercolor=#838383 class=c4>&nbsp;Bericht:</td><td bgcolor=#ECECED bordercolor=#838383 class=c5><textarea type=Text name=bericht cols=33 rows=6></textarea></td></tr>
    <tr><td bgcolor=#ECECED bordercolor=#838383 class=c8><br></td><td bgcolor=#ECECED bordercolor=#838383 class=c9><input type=submit value=reageer name=nieuwsreactie>&nbsp;<input type=Reset value=wis><input type=hidden name=replyid value=$_GET[id]></form></td></tr>";
}

Verwijderd

Topicstarter
Sorry voor de layout |:( .

Hoe verander ik de topictitel dan?

[ Voor 43% gewijzigd door Verwijderd op 24-12-2003 00:07 ]


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Je bewerkt $bericht, en vervolgens gebruik je $_POST['bericht'] in de query. Je moet natuurlijk in plaats van $_POST['bericht'] de variabele $bericht gebruiken :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Sorry hoor, maar iemand die een stuk code kan schrijven, kan het zelf ook wel debuggen.
Daarnaast is je titel helemaal niet ok, en biedt je ook geen alternatief aan, al werd je dat al gevraagd.

Het is in ieder geval niet de bedoeling van P&W dat je hier code post die je dan maar ff door anderen laat debuggen.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.