[RESOLU] Je n'arrive pas à éxécuter mon script PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Je n'arrive pas à éxécuter mon script PHP

Re: [RESOLU] Je n'arrive pas à éxécuter mon script PHP

par HGStyle » 03 déc. 2022, 20:59

J'ai trouvé de moi-même : effectivement, la ligne $_SERVER['REQUEST_METHOD'] = 'GET' n'as pas de ; mais aussi les trois dernières lignes de connection.php non plus !
merci !

Re: Je n'arrive pas à éxécuter mon script PHP

par or 1 » 03 déc. 2022, 19:00

je serais étonné que le fichier contenant les erreurs ( tutoriels/page-blanche-script-php-comme ... 73178.html ) ne dise pas qu'il y a un problème vers cette ligne :
$_SERVER['REQUEST_METHOD'] = 'GET'

Je n'arrive pas à éxécuter mon script PHP

par HGStyle » 03 déc. 2022, 15:25

Bonjour,
Je suis nouveau et à ce forum et à PHP.
Je connait le language Python, mais je me suis interressé à PHP car il me permet de gérer une base de donnée MySQL et de pouvoir montrer son contenu sûrement (dans le sans de sureté) au public.
Mes premiers codes PHP fonctionnes.
Mais mon script "add.php" ne peut pas être chargé dans mon naviguateur Brave.
Il est censé :
- si c'est une requête "GET", montrer un formulaire
- si c'est une requête "POST", vérifier puis ajouter à ma base de données MySQL les données.
- pour toute autre type de requête, afficher "[NOM] method is not supported."

Voici mon script PHP (nommé "add.php") qui est d'ailleurs certainement le pire code PHP que vous n'aurez jamais vu (lol) et qui est (normalement) indenté (je crois que le forum n'affiche pas les espaces au début de ligne, en tout cas, sur l'apercu, ils ne sont pas affichés):

Code : Tout sélectionner

<?php function missingdata() { header('Content-Type: application/json; charset=utf-8'); echo json_encode(array('status' => 'error', 'message' => 'Missing data.')); die(); } $_SERVER['REQUEST_METHOD'] = 'GET' // Get variables from connection.php require('connection.php'); // Import functions from functions.php require('functions.php'); // If request is send with POST if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Set Content-Type header header('Content-Type: application/json; charset=utf-8'); // Check if an info isnt provided if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email'])) { echo json_encode(array('status' => 'error', 'message' => 'An info is missing.')); die(); } $input_username = $_POST['username']; $input_password = $_POST['password']; $input_email = $_POST['email']; if ($input_username !== $admin_username || $input_password !== $admin_password || $input_email !== $admin_email) { echo json_encode(array('status' => 'error', 'message' => 'Email, username or password is incorrect.')); die(); } // Disable warning messages temporary error_reporting(E_ERROR | E_PARSE); // Im a slacker lol $osname = $_POST['osname']; $isconfirmed = $_POST['isconfirmed']; $osversion = $_POST['osversion']; $osedition = $_POST['osedition']; $osdevelopper = $_POST['osdevelopper']; $oslanguage = $_POST['oslanguage']; $osdate = $_POST['osdate']; $fileparts = $_POST['fileparts']; $leakedby = $_POST['leakedby']; $sha256sum = $_POST['sha256sum']; $downloadlink = $_POST['downloadlink']; // WARNING : Boring PHP code incoming ! if (!isset($osname) || empty($osname)) {missingdata();} if (!isset($isconfirmed) || empty($isconfirmed)) {$isconfirmed = 0;} if (!isset($osversion) || empty($osversion)) {missingdata();} if (!isset($osedition) || empty($osedition)) {$osedition = 'Unknown';} if (!isset($osdevelopper) || empty($osdevelopper)) {$osdevelopper = 'Unknown';} if (!isset($oslanguage) || empty($oslanguage)) {$oslanguage = 'Unknown';} if (!isset($osdate) || empty($osdate)) {$osdate = 0;} if (!isset($fileparts) || empty($fileparts)) {$fileparts = 0;} if (!isset($leakedby) || empty($leakedby)) {$leakedby = 'Unknown';} if (!isset($sha256sum) || empty($sha256sum)) {$sha256sum = 'Unknown';} if (!isset($downloadlink) || empty($downloadlink)) {missingdata();} // Re-enable warning messages error_reporting(E_ALL); // Create connection to database $conn = mysqli_connect($hostname, $username, $password, $dbname); // Create and send SQL command $formated = format('({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})', array($osname, $isconfirmed, $osversion, $osedition, $osdevelopper, $oslanguage, $osdate, $fileparts, $leakedby, $sha256sum, $downloadlink)); $sqlcommand = "INSERT INTO osdb (osname, isconfirmed, osversion, osedition, osdevelopper, oslanguage, osdate, fileparts, leakedby, sha256sum, downloadlink) VALUES " . $formated; $result = $conn->query($sqlcommand); if ($result) { echo json_encode(array('status' => 'success', 'message' => 'OS Added successfully !')); } else { echo json_encode(array('status' => 'error', 'message' => 'MySQL Error : ' . $conn->error, 'mysqlcommand' => $sqlcommand)); } // Close the connection mysqli_close($conn); } elseif ($_SERVER['REQUEST_METHOD'] == 'GET') { echo '<center><h1>Welcome</h1>'; echo '<form action="add.php" method="post"> Username : <input type="text" name="username"><br> Password : <input type="password" name="password"><br> Email : <input type="email" name="email"><br> ---------------------------------------------------<br> OS Name : <input type="text" name="osname"><br> Is confirmed : <input type="number" min="0" max="1" name="isconfirmed"><br> OS Version : <input type="text" name="osversion"><br> OS Edition : <input type="text" name="osdition"><br> OS Developper : <input type="text" name="osdevelopper"><br> OS Language : <input type="text" name="oslanguage"><br> OS Date : <input type="number" min="1" max="9999" name="osdate"><br> File Parts : <input type="number" min="0" max="999999" name="fileparts"><br> Leaked by : <input type="text" name="leakedby"><br> SHA-256 sum : <input type="text" name="sha256sum"><br> Download link : <input type="url" name="downloadlink"><br> <input type="submit" value="Login and add OS"> <input type="reset" value="Reset form"> </form></center>'; } else { echo $_SERVER['REQUEST_METHOD'] . " method is not supported."; } ?>
voici le contenu de mon fichier `functions.php` (c'est des fonctions utiles que j'ai trouvé sur internet) :

Code : Tout sélectionner

<?php function console_log($output, $with_script_tags = true) { $js_code = 'console.log(' . json_encode($output, JSON_HEX_TAG) . ');'; if ($with_script_tags) { $js_code = '<script>' . $js_code . '</script>'; } echo $js_code; } function format($msg, $vars) { $vars = (array)$vars; $msg = preg_replace_callback('#\{\}#', function($r){ static $i = 0; return '{'.($i++).'}'; }, $msg); return str_replace( array_map(function($k) { return '{'.$k.'}'; }, array_keys($vars)), array_values($vars), $msg ); } ?>
Et voici le fichier `connection.php` (sans les identifiants :) ) :

Code : Tout sélectionner

<?php $dbname = ""; // MySQL Database Name $username = ""; // MySQL Username $password = ""; // MySQL Password $hostname = ""; // MySQL Host Name / MySQL Host Address $admin_username = "" // Admin Username $admin_email = "" // Admin Email $admin_password = "" // Admin Password ?>
Voici l'écran qui m'est affiché :
i-imgur-com O39Vi3D.png

et voici le lien du script :
osworldtourdb-1-ws-com database add.php

Pour les liens, remplacez "-" par "." et " " par "/".

Quelqu'un peut il m'aider svp ?
Merci d'avance.