Bonjour à tous j'ai un petit problème où par ma base de données ne met pas à jour mon application testimonial simple! Mon application fonctionne très bien lors de l'insertion d'une entrée dans la base de données avec ce script d'analyse syntaxique ..Lignes ne pas mettre à jour
<?php
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);
include_once "../php_includes/db_conx.php";
$sql = "INSERT INTO testimonials (testtitle, testbody, compowner, ownertitle, compname, compwebsite)
VALUES ('$testtitle', '$testbody', '$compowner', '$ownertitle', '$compname', '$compwebsite')";
if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>
Je trouve que mon script de mise à jour ne met pas à jour! Est-ce que je manque quelque chose ici les gars? Un grand merci ...
<?php
$pid = $_POST['pid'];
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);
include_once "../php_includes/db_conx.php";
$sql = "UPDATE testimonials SET testtitle='$testtitle', testbody='$testbody', compowner='$compowner', ownertitle='$ownertitle', compname='$compname', compwebsite='$compwebsite' WHERE id='$pid' LIMIT 1";
if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>
MISE À JOUR C'est ce que j'ai maintenant les gars ...
<?php
$sql = "SELECT * FROM testimonials WHERE id='$pid'";
$pid = $_POST['pid'];
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);
include_once "../php_includes/db_conx.php";
$sql = "UPDATE testimonials SET testtitle='$testtitle', testbody='$testbody', compowner='$compowner', ownertitle='$ownertitle', compname='$compname', compwebsite='$compwebsite' WHERE id='$pid'";
if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>
Salut à tous comme demandé voici mon formulaire HTML comme l'a demandé! Oui, je sais que c'est dans une table. J'ai aussi un code php ci-dessus la forme qui est ce ...
<?php
$pid = ereg_replace("[^0-9]", "", $_POST['pid']);
include_once "../php_includes/db_conx.php";
$sql = "SELECT testtitle, testbody, compowner, ownertitle, compname, compwebsite FROM testimonials WHERE id='$pid' LIMIT 1";
$query = mysql_query($sql, $connection) or die (mysql_error());
while ($row = mysql_fetch_array($query)) {
$testtitle = $row["testtitle"];
$testtitle = str_replace("<br />", "", $testtitle);
$testbody = $row["testbody"];
$testbody = str_replace("<br />", "", $testbody);
$compowner = $row["compowner"];
$ownertitle = $row["ownertitle"];
$compname = $row["compname"];
$compwebsite = $row["compwebsite"];
}
mysql_free_result($query);
?>
Et ma forme est ...
<form method="post" action="testimonial_edit_parse.php" onsubmit="return validate_form ();">
<tr>
<td width="12%" align="right" bgcolor="#F5E4A9">Testimonial Full Title</td>
<td width="88%" bgcolor="#F5E4A9"><input name="ts_tt" id="testtitle" type="text" size="80" maxlength="64" value="<?php echo $testtitle; ?>" /></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#DAEAFA">Testimonial Body</td>
<td bgcolor="#DAEAFA"><textarea name="ts_tb" id="testbody" cols="60" rows="16"><?php echo $testbody; ?></textarea></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Owner</td>
<td bgcolor="#D7EECC"><input name="ts_co" id="compowner" type="text" maxlength="64" size="80" value="<?php echo $compowner; ?>" /></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Owner Title</td>
<td bgcolor="#D7EECC"><input name="ts_ot" id="ownertitle" type="text" maxlength="64" size="80" value="<?php echo $ownertitle; ?>"/></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Name</td>
<td bgcolor="#D7EECC"><input name="ts_cn" id="compname" type="text" maxlength="64" size="80" value="<?php echo $compname; ?>" /></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Website</td>
<td bgcolor="#D7EECC"><input name="ts_cw" id="compwebsite" type="text" maxlength="64" size="80" value="<?php echo $compwebsite; ?>" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="ts_button" value="Submit this edit" /></td>
</tr>
</form>
Êtes-vous sûr '$ pid' existe dans la base de données? –
Les fonctions PHP qui commencent par 'mysql_' ont été dépréciées depuis PHP 5.5.0. Si vous êtes en mesure de le faire, pensez à mettre à jour votre code pour utiliser [MySQLi] (http://www.php.net/manual/fr/book.mysqli.php) ou [PDO] (http://www.php.net/manual/fr/ref.pdo-mysql.php) à la place. –
Je vois trop de questions comme celle-ci. Prenez le temps d'apprendre à [interpréter les erreurs et corriger votre code] (http://jason.pureconcepts.net/2013/05/fixing-php-errors/). –