Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour, je viens d'installer un script très simple en php qui permet d'ajouter des news a une page de mon site. Le problème, c'est que si dans le texte de la news, il y a un (une ?) apostrophe, le texte est coupé et se termine par un / alors que le texte saisi ne s'arrête normalement pas là.
voilà l'adresse de la page : http://www.molos.ch/mblog1.0/index.php
et l'adresse qui sert à ajouter les news : http://www.molos.ch/mblog1.0/add.php
Y a-t-il moyen de modifier le script pour éviter cela et si oui, comment ?
Voici le code :
Alors, index.php :
<?
// This script is copyright 2003 Robert Murdock.
// www.robscripts.com
?>
<HTML>
<HTML>
<HEAD>
<TITLE>Home - Blog Demo</TITLE>
<LINK REL=stylesheet HREF="scrollblanc.css" type="text/css">
<?
$DBhost = "localhost"; // Change this if needed. Default normally works.
$DBuser = "Emma"; // Change this to your db login name.
$DBpass = "xxxxxx"; // Change this to your db password.
$DBName = "MyMolos"; // Change this to the database name you use.
$table = "blogg"; // Change this to the table you use.
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to
connect to database");
@mysql_select_db("$DBName") or die("Unable to select
database $DBName");
$sqlquery = "SELECT * FROM $table ORDER BY pdate DESC";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i = 0;
if ($number < 1) {
print "<CENTER><P>There Were No Results for Your
Search</CENTER>";
}
else {
print "<center>";
while ($number > $i) {
$pdate = mysql_result($result,$i,"pdate");
$btext = mysql_result($result,$i,"btext");
?>
<body bgcolor="#dfdfdf">
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0"
style="border-collapse: collapse"
bgcolor="#dfdfdf" width="100%" height="101" id="AutoNumber1">
<tr>
<td width="438" height="101">
<center>
<table width="92%"
height="1" border="0" align="left" cellpadding="0" cellspacing="0" id="AutoNumber1"
style="border-collapse: collapse">
<tr>
<td width="98%" height="1" bgcolor="#dfdfdf">
<p align="left"></td>
</tr>
<tr>
<td width="98%" height="29" bgcolor="#dfdfdf">
<font face="Verdana"
color="#ff8000" size="-2"><b><?=$pdate?></b><hr align="center" size="1"><font face="Verdana"
color="#333333" size="-2"><?=$btext?></font>
</td>
</tr>
<tr>
<td width="98%" height="1" bgcolor="#dfdfdf">
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
</body>
<?
$i++;
}
print "</center>";
}
?>
</BODY>
</HTML>et add.php
<?
// This script is copyright 2003 Robert Murdock
// www.robscripts.com
?>
<HTML>
<HEAD>
<TITLE>Home - Add Blog</TITLE>
<?
$password = "xxxxxx"; // Change this to somthing only you know!
if ($dsp == "Yes") {
$pdate = date("D M d, Y H:i:s");
print "<br>Post Date: $pdate<BR>Text:<BR><BR>$btext";
print "<BR><BR>Do you want to submit this as shown (Hit
"back" on your browser to edit)?";
print "<form action=add.php METHOD=post>";
print "<input type=hidden NAME=dsp VALUE=Insert>";
print "<input TYPE=HIDDEN NAME=pdate VALUE='$pdate'>";
print "<input TYPE=HIDDEN NAME=btext VALUE='$btext'>";
print "<input TYPE=HIDDEN NAME=pass VALUE='$pass'>";
print "<input type=submit value=Submit></form>";
} else if ($dsp == "Insert") {
if ($pass == $password) {
print "<CENTER>Added.<CENTER><br>";
$DBhost = "localhost"; // Change this if needed. Default normally works.
$DBuser = "Emma"; // Change this to your db login name.
$DBpass = "xxxxxx"; // Change this to your db password.
$DBName = "MyMolos"; // Change this to the database name you use.
$table = "blogg"; // Change this to the table you use.
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");
@mysql_select_db("$DBName") or die("Unable to select database $DBName");
$sqlquery = "INSERT INTO $table (pdate,btext) VALUES('$pdate','$btext')";
$result = mysql_query($sqlquery);
} else {
print "Error: Invalid Password (pass: $password | pass2: $pass)";
}
} else {
?>
<form ACTION="add.php" METHOD="post">
<input type="hidden" NAME="dsp" value="Yes">
<p align="left">Add New blog:</p>
<table border="0">
<tr>
<td width="20%"><font face="Verdana" color="#ffffff">Message:</font></td>
<td witdh="80%"><textarea name="btext" rows="15" cols="60"></textarea></td>
</tr>
<tr>
<td width="20%"><font face="Verdana" color="#ffffff">Password:</font></td>
<td witdh="80%"><input TYPE="text" NAME="pass" size="30"></td>
</tr>
</table>
<input TYPE="SUBMIT" VALUE="Next >>">
<? } ?>
</BODY>
</HTML>Merci d'avance !
Emma. ![]()
Hors ligne
regarde dans ta base de données
si tout ta news est entrée dans ta base de données, ajoute cela avant l'affichage de ta news :
$variable = stripslashes($variable);
si tout n'est pas ajouté dans la base de données, ajoute dans ton script d'ajout de news, avant l'ajout dans la base, cela :
$variable = addslashes($variable);
ou $variable est la variable contenant ta news ![]()
Hors ligne
Merci beaucoup !! Je vais essayer ! ![]()
Hors ligne