問題は、一部のページが文字通り機能しないことです。これは Joomla Web サイトであり、たとえば、管理者セクションのログイン フォームは機能しますが、一部のページのコンテンツを並べ替えまたは編集するためのフォームは POST データを渡しませんが、他のページは渡します。問題はフロントエンドにもあり、過去2年間はそのような形でした。Web サイトは最近新しいホスティングに移行され、PHP 5.4では E_STRICT 通知を非表示にする必要がありましたが、それだけです。この新しいバージョンの PHP には何らかの関係があると確信しています。
これは、今すぐ修正することが最も重要なページのコードです。
<form action="<?php echo $_SERVER["PHP_SELF"] ?>?option=com_jumi&fileid=7&Itemid=100&goto=jobsave" method="post" enctype="application/x-www-form-urlencoded" target="_self">
<table>
<tbody>
<tr>
<td>Category: </td>
<td>
<select name="jCat" size="1">
<?php foreach($cats as $jcat): ?>
<option value="<?php echo $jcat['pk_categorie']; ?>" <?php if($jCategory == $jcat['pk_categorie']) echo 'selected="selected"'; ?>><?php echo $jcat['nom_categorie']; ?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr>
<td>Job: </td>
<td><input type="text" name="jobCode" value="<?php echo $jobCode ?>" /></td>
</tr>
<tr>
<td>Title(english): </td>
<td><input type="text" name="jTitle" value="<?php echo $jTitle ?>" /></td>
</tr>
<tr>
<td>Titre(français): </td>
<td><input type="text" name="jTitleFr" value="<?php echo $jTitleFr ?>" /></td>
</tr>
<tr>
<td valign="top">Description(english): </td>
<td><textarea name="jDesc" rows="10" cols="30"><?php echo $jDesc ?></textarea></td>
</tr>
<tr>
<td valign="top">Description(français): </td>
<td><textarea name="jDescFr" rows="10" cols="30"><?php echo $jDescFr ?></textarea></td>
</tr>
<tr>
<td valign="top">Requirements(english): </td>
<td><textarea name="jRequ" rows="10" cols="30"><?php echo $jRequ ?></textarea></td>
</tr>
<tr>
<td valign="top">Requirements(français): </td>
<td><textarea name="jRequFr" rows="10" cols="30"><?php echo $jRequFr ?></textarea></td>
</tr>
<tr>
<td valign="top">Schedule(english): </td>
<td><textarea name="jSched" rows="10" cols="30"><?php echo $jSched ?></textarea></td>
</tr>
<tr>
<td valign="top">Schedule(français): </td>
<td><textarea name="jSchedFr" rows="10" cols="30"><?php echo $jSchedFr ?></textarea></td>
</tr>
<tr>
<td valign="top">Salary(english): </td>
<td><textarea name="jSalary" rows="10" cols="30"><?php echo $jSalary ?></textarea></td>
</tr>
<tr>
<td valign="top">Salary(français): </td>
<td><textarea name="jSalaryFr" rows="10" cols="30"><?php echo $jSalaryFr ?></textarea></td>
</tr>
<tr>
<td valign="top">Application Process(english): </td>
<td><textarea name="jAppli" rows="10" cols="30"><?php echo $jAppli ?></textarea></td>
</tr>
<tr>
<td valign="top">Application Process(français): </td>
<td><textarea name="jAppliFr" rows="10" cols="30"><?php echo $jAppliFr ?></textarea></td>
</tr>
<tr>
<td>Send CV to: </td>
<td>
<select name="jCV" size="1">
<?php foreach($users as $juser): ?>
<option <?php if($jCV == $juser['pk_user']) echo 'selected="selected"'; ?> value="<?php echo $juser['pk_user']; ?>"><?php echo $juser['nom_user']; ?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr>
<td>Status: </td>
<td>
<select name="jStatus">
<option <?php if($jStatus == 1) echo 'selected="selected"'; ?> value="1">Activate</option>
<option <?php if($jStatus == 0) echo 'selected="selected"'; ?> value="0">Deactivate</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="" value="Save" /></td>
</tr>
</tbody>
</table>
<input type="hidden" name="jid" value="<?php echo $jid ?>" />
<input type="hidden" name="<?php echo JUtility::getToken() ?>" value="1" />
繰り返しますが、これは数年間機能し、この更新以降、投稿データをページに渡さなくなりました。
編集: データを受信するコード。この最初のステップでは POST データが欠落しているため、関係がないため、その後の他のすべてにコメントしました。
<?php
// jobs Admin
require('components/com_jumi/files/jobsAdmin/configuration.php');
$document =& JFactory::getDocument();
$css = JURI::base().'components/com_jumi/files/jobsAdmin/style.css';
$document =& JFactory::getDocument();
$document->addStyleSheet($css);
jimport( 'joomla.html.html.form' );
echo '<pre>' . print_r( $_POST, true ) . '</pre>';
?>
また、最初に print_r を入れてみましたが、まだ空です。