[PHP]Smiles

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
4
5
6
7
8
for ($i=0;$i<count($tekens);$i++) 
                    {
                    $bericht = ereg_replace($tekens[$i], " [img]'smilies/$plaatje[$i]'[/img]", $bericht);
                    }
                    $result = mysql_query("INSERT INTO bezoekers (timestamp, naam, email, bericht) VALUES('$timestamp','$naam','$email','$bericht');");


Waarom kan deze replacement niet gepost worden :(

Als ik $bericht echo na result kan ik hem wel gewoon zien als plaatje...
iemand een id?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

addslashes()

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb bij de var $tekens die backslashes al gedaan.... hij drukt wel goed af

Acties:
  • 0 Henk 'm!

Verwijderd

wat is dit voor onzin?

--

Hmmz je vraag is best onduidelijk .. ik snap nu niet wat je wil ?

--

Geef b.v. eens $tekens en $plaatje

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
$tekens = array(":\+",":\S","8\)");
$plaatje = array("clown.gif","confused.gif","coool.gif");

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik wil dus mijn ingevoerde smiles veranderen voor het posten in img zodat hij alleen de link naar het plaatje post en niet dit : ) scheelt tijd....

Acties:
  • 0 Henk 'm!

Verwijderd

zet je query eens in $query = "INSERt .. .. );";
en dan
mysql_query ($query);

en dan ff echo $query; en echo mysql_Error();

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
You have an error in your SQL syntax near 'smilies/smile.gif'>')' at line 1

Acties:
  • 0 Henk 'm!

Verwijderd

dan word het toch wat chem zegt ;)

haha

ik d8 dat de replace nie werkte.. ik voel me noob :)

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Wat nou onzin?
PHP:
1
$bericht = ereg_replace($tekens[$i], " [img]'smilies/$plaatje[$i]'[/img]", $bericht);

Hij stopt in bericht een string, nl " [img]'smilies/$plaatje[$i]'[/img]", Deze bevat dus ' (single quotes) en aangezien dat special chars zijn in SQL, moet je die escapen! Dat kan met addslahes :)

Tevens hoef je alleen ' ' om strings te zetten in SQL, niet om timestamps ed

edit:
Wel ff bekijk bericht doen glimi |:(

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:S

Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k


wat is dit voor onzin reply?
als je nou wil trollen doe het dan goed.
ga je mail maar checken

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond


ja, hier komen we verder mee.

MSN smileys ken ik niet.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

  • gebruik geen ereg_replace maar str_replace
  • je string bevat meerdere malen de ' waardoor myql niet meer wat nou wel en niet de string is
  • dit los je op door de string tussen de ECHTE ' door addslashes te halen
  • RTFM

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
4
5
6
7
8
$bericht = str_replace($tekens[$i], " [img]\'smilies/$plaatje[$i]\'[/img]", $bericht);
                    }
                    $result = mysql_query("INSERT INTO bezoekers (timestamp, naam, email, bericht) VALUES('$timestamp','$naam','$email','$bericht');");
                                
                }

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
das hem nu en de helft van me smiles doen het niet

Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Vervang eens door:
PHP:
1
2
3
4
5
6
7
8
9
<?
$blaat = "[img]\'smilies/$plaatje[$i]\'[/img]";
echo $blaat;
$bericht = str_replace($tekens[$i], $blaat, $bericht);
                    }
                    $result = mysql_query("INSERT INTO bezoekers (timestamp, naam, email, bericht) VALUES('$timestamp','$naam','$email','$bericht');");
                                
                }
?>

en kijk wat ie afdrukt bij die echo, klopt die output wel?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 15 November 2002 @ 23:17:
das hem nu en de helft van me smiles doen het niet


Wat bedoel je met 'de helft doet het niet'. Het is namelijk wel van belang in welke volgorde je door je smilies heen loopt. Als je eerst alle : ) vervangt door :) dan kun je geen >:) meer maken omdat daarvan de : ) al vervangen is door de :) en je dus een > :) krijgt. Maar ja... uit 'de helft doet het niet' blijft het natuurlijk gokken wat er fout gaat ;) ..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Verwijderd schreef op 15 november 2002 @ 22:17:
$tekens = array(":\+",":\S","8\)");
$plaatje = array("clown.gif","confused.gif","coool.gif");
Euh... Waarom escape je die smiles? :?

Moet zijn:
$tekens = array (":+", ":S", "8)");

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nee ik heb de volgorde goed gedaan.....

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hij werkttttttttttttttt

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
niet.......

Acties:
  • 0 Henk 'm!

Verwijderd

ik heb het zo gedaan: in mysql een tabel maken met 2 vakken. en dit is ff me php gebeuren:
insert smile.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?

if ($submit){

   $database_server = mysql_connect('localhost', 'inlognaam', 'wachtwoord');

 $sql = "INSERT INTO smiles (id, smile) VALUES ('', '$smile')";

      // Voer SQL uit
      mysql_query($sql) or die("Oops...");

      // Geef bevestiging
echo "$smile is geplaatst";
}
?>
<form method="post" action="insertsmile.php" name="form">
<input type="hidden" name="submit" value="yes">
<input type="text" name="smile">
<input type="submit" value=" GAAN ">


dan even een looksmile.php om te kijken of het is gelukt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?

   $database_server = mysql_connect('localhost', 'inlognaam', 'wachtwoord');

   $sql = "SELECT * FROM smiles";

   $resultaat = mysql_query($sql);

echo"<table><tr>\n";

   $nr=0;
   // Maak een lus om alle items te laten zien
   while ($record = mysql_fetch_object($resultaat)) {

          $nr++;
         //echo "$record->smiles

          echo "<tr><td>$nr</td><td>$record->smile</td><td>[img]gfx/$record->id.gif></td></tr[/img]\n";

           }
echo "</tr></table>"

nou kan je zelf nog even knoeien met de stringreplace functie. :)

edit:
dit bovenste stukje code komt is grotendeels gestript.. maar het gaat om de functie ervan.. :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
te groot voor een gastenboek ;)

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 21-09 00:18
Verwijderd schreef op 16 november 2002 @ 20:45:
te groot voor een gastenboek ;)
te groot.. je bent wel erg aan het knoeien niet? :?

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het moet toch met mijn zinnetje ook wel kunnen? ik ben idd hevig aan het klot...... euh klieren met php+mysql. Maar ik vraag me af of zoveel extra zinnen nodig is...
Pagina: 1