Tha_Zaynt Skrevet 11. august 2004 Del Skrevet 11. august 2004 (endret) Går det an å gjøre slik at f.eks ' automatisk blir til ´ (altså blir til WYSIWYG-formen av seg selv), mens jeg skriver i et form? Har nemmelig problem med at når jeg skriver f.eks ' i en tekst i gjestebok-scriptet mitt (eller news-scriptet for den del), så får jeg en error når innlegget skal lagres i mySQL databasen. Endret 11. august 2004 av Tha_Zaynt Lenke til kommentar
LoS Skrevet 11. august 2004 Del Skrevet 11. august 2004 www.php.net/htmlspecialchars tar vel det gjør det ikke? Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 når jeg setter det inn slik får jeg bare feillmeldingen; Et eller flere felt mangler nødvendig informasjon. Selv om jeg har fylt ut alle.. reg.php <link rel="stylesheet" type="text/css" href="style.css"> <?php include("config.php"); // Get data from form if($formMethod == "post") { $tittel = $_POST['tittel']; $navn = $_POST['navn']; $nyhet = $_POST['nyhet']; $dato = date ("d/m/Y, H:i:s"); } else { $tittel = $_GET['tittel']; $navn = $_GET['navn']; $nyhet = $_GET['nyhet']; $dato = date ("d/m/Y, H:i:s"); } $tittel = htmlspecialchars($tittel); $tittel = str_replace("æ","æ",$tittel); $tittel = str_replace("ø","ø",$tittel); $tittel = str_replace("å","å",$tittel); $tittel = str_replace("Æ","Æ",$tittel); $tittel = str_replace("Ø","Ø",$tittel); $tittel = str_replace("Å","Å",$tittel); $tittel = str_replace("","<br>",$tittel); $tittel = str_replace("\n","<br>",$tittel); $navn = htmlspecialchars($navn); $navn = str_replace("æ","æ",$navn); $navn = str_replace("ø","ø",$navn); $navn = str_replace("å","å",$navn); $navn = str_replace("Æ","Æ",$navn); $navn = str_replace("Ø","Ø",$navn); $navn = str_replace("Å","Å",$navn); $nyhet = htmlspecialchars($comment); $nyhet = str_replace("æ","æ",$nyhet); $nyhet = str_replace("ø","ø",$nyhet); $nyhet = str_replace("å","å",$nyhet); $nyhet = str_replace("Æ","Æ",$nyhet); $nyhet = str_replace("Ø","Ø",$nyhet); $nyhet = str_replace("Å","Å",$nyhet); $nyhet = str_replace("","<br>",$nyhet); $nyhet = str_replace("\n","<br>",$nyhet); // Remove HTML-tags and unnecessary spaces $tittel = rtrim(ltrim(strip_tags($tittel))); $navn = rtrim(ltrim(strip_tags($navn))); $nyhet = rtrim(ltrim(strip_tags($nyhet))); // Check that none of the fields are empty if (empty($tittel) || (empty($navn) ||empty($nyhet))) { echo "Et eller flere felt mangler nødvendig informasjon.<p><a href='news.php'>Tilbake</a></p>"; } else { // Connect to MySQL mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); // Insert the data into the database if (mysql_query("INSERT INTO $mySQLtable (tittel,navn,nyhet,dato) VALUES ('$tittel','$navn','$nyhet','$dato')")) { echo $regSuccess; } else { echo $regFailed. mysql_error(); } mysql_close(); } ?> Lenke til kommentar
Lokaltog Skrevet 11. august 2004 Del Skrevet 11. august 2004 (endret) Hvis du skal lagre informasjonen i en database kan det nok være lurt å kjøre addslashes() på variablene som skal legges inn. Da escapes ' slik at databasen ikke returnerer syntaksfeil om en variabel inneholder '. Edit: prøv denne isteden: if (empty($tittel) || empty($navn) || empty($nyhet)) { Endret 11. august 2004 av lokaltog Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 (endret) empty sjekkern fungerer fint den, men når jeg setter inn koden nedenfor eller før empty sjekkern, så sier den at ingen felter er fylt ut. hvordan bruker man addslashes() i praksis? $tittel = htmlspecialchars($tittel); $tittel = str_replace("æ","æ",$tittel); $tittel = str_replace("ø","ø",$tittel); $tittel = str_replace("å","å",$tittel); $tittel = str_replace("Æ","Æ",$tittel); $tittel = str_replace("Ø","Ø",$tittel); $tittel = str_replace("Å","Å",$tittel); $tittel = str_replace("","<br>",$tittel); $tittel = str_replace("\n","<br>",$tittel); $navn = htmlspecialchars($navn); $navn = str_replace("æ","æ",$navn); $navn = str_replace("ø","ø",$navn); $navn = str_replace("å","å",$navn); $navn = str_replace("Æ","Æ",$navn); $navn = str_replace("Ø","Ø",$navn); $navn = str_replace("Å","Å",$navn); $nyhet = htmlspecialchars($comment); $nyhet = str_replace("æ","æ",$nyhet); $nyhet = str_replace("ø","ø",$nyhet); $nyhet = str_replace("å","å",$nyhet); $nyhet = str_replace("Æ","Æ",$nyhet); $nyhet = str_replace("Ø","Ø",$nyhet); $nyhet = str_replace("Å","Å",$nyhet); $nyhet = str_replace("","<br>",$nyhet); $nyhet = str_replace("\n","<br>",$nyhet); EDIT: Fant buggen som gjorde at et eller flere felt mangler, og nå funker alt som det skal Endret 11. august 2004 av Tha_Zaynt Lenke til kommentar
Lokaltog Skrevet 11. august 2004 Del Skrevet 11. august 2004 hvordan bruker man addslashes() i praksis? addslashes("Tekststreng med 'apostrof'!"); Blir til: Tekststreng med \'apostrof\'! Slik at variabler med apostrof blir tolket riktig av MySQL. Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 btw; kan du svare meg på hva som er galt i denne formen under? får bare feilen; Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in c:\appserv\www\news\rediger.php on line 75 echo ' <form method="post" action="?action=save_changes&id=' . $id . '"> <p>Overskrift: <input type="text" name="tittel" maxlength="37" size="37" value="' . $row->tittel . '" /></p> <p>Forfatter: <input type="text" name="navn" maxlength="37" size="37" value="' . $row->navn . '" /></p> <p>Nyhet:<br /><textarea name="nyhet" cols="46" rows="10">' . $row->nyhet . '</textarea></p> --->linje 75 <a href="javascript:addsmile(' X( ')"><img src="$SmileyDir/angry.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :f ')"><img src="$SmileyDir/flirt.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :x ')"><img src="$SmileyDir/dead.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :( ')"><img src="$SmileyDir/frown.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :h ')"><img src="$SmileyDir/cool.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :i ')"><img src="$SmileyDir/idea.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :) ')"><img src="$SmileyDir/smile.gif" alt="" border="0"></a> <a href="javascript:addsmile(';) ')"><img src="$SmileyDir/wink.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :l ')"><img src="$SmileyDir/hrmpf.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :o ')"><img src="$SmileyDir/redface.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :00 ')"><img src="$SmileyDir/look.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :p ')"><img src="$SmileyDir/tounge.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :q ')"><img src="$SmileyDir/quest.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :r ')"><img src="$SmileyDir/shame.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :D ')"><img src="$SmileyDir/biggrin.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :e ')"><img src="$SmileyDir/supergrin.gif" alt="" border="0"></a> <input type="submit" name="Lagre" value="'.$LagreVal.'" /> <input type="reset" value="Slett" /> </form>'; Lenke til kommentar
LoS Skrevet 11. august 2004 Del Skrevet 11. august 2004 Kan muligens ha noe med at du ikke har escapet noenting i javascriptseksjonen? Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 Er ikke sikker på hvordan jeg skal gjøre det...forslag? Lenke til kommentar
jorgis Skrevet 11. august 2004 Del Skrevet 11. august 2004 (endret) Du trenger ikke å bytte ut "Ø" med ø osv. når du har riktig tegnsett. Bare du spesifiserer tegnsettet iso-8859-1 i meta-taggene eller i HTTP-headerne går det fint. EDIT: echo ' <form method="post" action="?action=save_changes&id=' . $id . '"> <p>Overskrift: <input type="text" name="tittel" maxlength="37" size="37" value="' . $row->tittel . '" /></p> <p>Forfatter: <input type="text" name="navn" maxlength="37" size="37" value="' . $row->navn . '" /></p> <p>Nyhet:<br /><textarea name="nyhet" cols="46" rows="10">' . $row->nyhet . '</textarea></p> --->linje 75 <a href="javascript:addsmile(\' X( \')"><img src="' . $SmileyDir . '/angry.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :f \')"><img src="' . $SmileyDir . '/flirt.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :x \')"><img src="' . $SmileyDir . '/dead.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :( \')"><img src="' . $SmileyDir . '/frown.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :h \')"><img src="' . $SmileyDir . '/cool.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :i \')"><img src="' . $SmileyDir . '/idea.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :) \')"><img src="' . $SmileyDir . '/smile.gif" alt="" border="0"></a> <a href="javascript:addsmile(\';) \')"><img src="' . $SmileyDir . '/wink.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :l \')"><img src="' . $SmileyDir . '/hrmpf.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :o \')"><img src="' . $SmileyDir . '/redface.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :00 \')"><img src="' . $SmileyDir . '/look.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :p \')"><img src="' . $SmileyDir . '/tounge.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :q \')"><img src="' . $SmileyDir . '/quest.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :r \')"><img src="' . $SmileyDir . '/shame.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :D \')"><img src="' . $SmileyDir . '/biggrin.gif" alt="" border="0"></a> <a href="javascript:addsmile(\' :e \')"><img src="' . $SmileyDir . '/supergrin.gif" alt="" border="0"></a> <input type="submit" name="Lagre" value="'.$LagreVal.'" /> <input type="reset" value="Slett" /> </form>'; Her er koden med escaping av JS-koden, samt at $smileydir vil bli satt inn på rett sted. Endret 11. august 2004 av jorgis Lenke til kommentar
LoS Skrevet 11. august 2004 Del Skrevet 11. august 2004 Er ikke sikker på hvordan jeg skal gjøre det...forslag? Du skriver \ foran ' Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 (endret) ok...kan du gi et eksempel? får det ikke til Endret 11. august 2004 av Tha_Zaynt Lenke til kommentar
jorgis Skrevet 11. august 2004 Del Skrevet 11. august 2004 Alle forekomster av apostrof ( ' ) skal settes en skråstrek foran ( \ ). Jeg skrev om koden din i posten min over, slik at alt ble skikkelig escapet. Lenke til kommentar
Tha_Zaynt Skrevet 11. august 2004 Forfatter Del Skrevet 11. august 2004 ok, takk så ikke det Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå