Bonjour, je suis en ce moment en Stage dans une entreprise et mon mentor me donne des taches a faire. Ce qu'il me demande est simple.
Je suis entrain de crée un plugin Wordpress, et ce que je dois faire c'est: une fois que une de mes pages sur wordpress son refresh, cela doit prendre mon adresse ip, la date + heure et le lien de la page ou on a refresh. Et puis cela l'afficher dans mon plugin.
Voici mon code pour le moment:
/
Plugin Name: Plugin
Author: Quentin Houiller
Description: Premier plugin pour le stage
Version: 1.0.0
/
add_action('admin_menu','admin_menu');
function admin_menu(){
add_menu_page(
'Home', //page title
'Home', //Menu title
'manage_options', //capability
'admin_menu', //slug
'home1' //callable function (appeller la fonction)
);
add_submenu_page(
'admin_menu',
'settings',
'Settings',
'manage_options',
'',
'setting1'
);
}
function home1()
{
$_SERVER['HTTP_REFERER'];
$ip = $_SERVER['REMOTE_ADDR'];
$heure = date("h:i:s");
$web = $_SERVER['SCRIPT_FILENAME'];
?>
<table border="1">
<tr>
<td width="100">
IP
</td>
<td width="50">
date
</td>
<td width="400">
page web
</td>
</tr>
<?php
$servername = 'localhost:3306';
$user = 'root';
$dbname= 'informations';
$pass = '';
$conn = new mysqli($servername, $user, $pass, $dbname);
if ($conn->connect_error)
{
die('Connexion perdu ' .$conn->connect_error);
}else{
echo 'connexion réussi !' . "<br>" . "<br>";
}
$resultat =$conn->query("SELECT * FROM test1"); //query = prepare
if ($resultat->num_rows > 0) {
// output data of each row
while($row = $resultat->fetch_assoc()) {
?>
<tr>
<td>
<?php echo $row["ip"]?>
</td>
<td>
<?php echo $row["date"] . "<br>" . $heure?>
</td>
<td>
<?php echo $row["web"]?>
</td>
<tr>
<?php
}
}
?>
</table>
Ce qu'il me manque maintenant c'est d'avoir une fonction que une fois que je refresh ca envoie les données dans la BDD.
J'ai essayer avec la fonction header comme ce si:
header("Location: http://localhost/wordpress1/");
if (header('Refresh:0; url=http://localhost/wordpress1/'))
{
$insertion = "INSERT INTO informations (ip, datee, web,) VALUES ($ip . $heure . $web) ";
}
Mais cela ne fonctionne pas, voici ce que l'erreur me mets: Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64\www\wordpress1\wp-includes\script-loader.php:2585) in C:\wamp64\www\wordpress1\wp-content\plugins\premierplugin\home.php on line 93
Sauriez-vous m'aider ?
Cordialement Quentin