Je débute en PHP - PHP - Programmation
Marsh Posté le 21-12-2005 à 12:36:45
Excusez mes lacunes je ne maitrise pas encore les forums
Pour information la ligne 89 est la dernière ligne soit "?>".
L'erreur doit surement apparaitre avant cette ligne j'imagine.
Marsh Posté le 21-12-2005 à 12:40:21
bin t'as plein de trucs qui ch#ent dans ton code
Code :
|
La du coup tu fermes pas ton while, vu que l'accolade est commentée
et là:
Code :
|
tu as carrement oublié l'accolade fermante de ton while.
Petit conseil pour finir: je sais pas sur quel livre/site tu apprends le php, mais change... je te conseille php debutant plutôt!
Marsh Posté le 21-12-2005 à 12:44:18
Il a pas oublié l'accolade, elle est sur la dernière ligne de la boucle.
Moralité : style à la con, changer de style : indentation visible et cohérente, et accolade fermante seule sur une ligne.
Marsh Posté le 21-12-2005 à 13:04:00
Bon merci pour les remarques sur mon code mais par contre vos commentaires d'ados prépubert vous auriez pu vous les gardez.
En vous remerçiant.
Marsh Posté le 21-12-2005 à 13:10:19
Dans la plupart des cas quand lorsque l'erreur se trouve à la dernière ligne de code, c'est à dire ?> c'est qu'il y a une boucle qui n'est pas fermé.
Avec le temps tu repèreras vites les erreurs, c'est pas tous de suite mais ça viendra
Ce que Alerim à voulu dire mais avec un manque de finesse car il a surement oublié ses premiers codes .
Il y a une maniere de presenter son code pour des raisons de lisibilité, pour toi et pour les autres. Elle est importante pour repérer les erreurs, alors au début c'est normal parce que tu n'as pas encore t'es repere et une erreur ne te sautera pas au yeux mais avec la pratique tu vas pouvoir coder en commetant un minimum d'erreur de synthaxe.
Marsh Posté le 21-12-2005 à 13:12:41
En tout cas je suis content avec seulement j'ai appris pas mal de choses du genre l'accolade dans un com. Bon je ferais appel à vous surement dans le futur. A la prochaine
Marsh Posté le 21-12-2005 à 14:05:24
Une autre partie de mon code devrait avoir subir quelques modifications du fait de sa syntaxe trés mauvaise, de plus la requête ne marche pas. Merci de m'apporter votre savoir.
Citation : |
Explication du code, je souhaite si les variables en question sont définies au préalable, ajouter une occurence dans ma base de donnée.
Marsh Posté le 21-12-2005 à 14:06:40
et voila le code plus lisible.
Code :
|
Marsh Posté le 21-12-2005 à 14:18:18
Heyboy a écrit : et voila le code plus lisible. |
euh sinon je pense que c'est des "&&" et non des "||" que tu voulais mettre dans ton if!
Marsh Posté le 21-12-2005 à 14:25:47
si vous avez mieux à proposer je suis prêt à voir.
Citation : |
non c'est bien des OU logiques il ya besoin qu'une variable soit défini pour valider la condition.
Marsh Posté le 21-12-2005 à 14:30:41
Heyboy a écrit : ... |
Donc il suffit qu'une seule des valeurs soit "settée" pour que tu fasses ton insert?
En d'autres termes j'ai uniquement $_GET["ip"] je fais quand même l'insert avec tous les autres champs à vide?
Par ailleurs tu dois egalement utilisé $_GET pour tes variables dans ta requête...
Marsh Posté le 21-12-2005 à 14:39:50
Oui c'est bien ca. Biensûr ce ne sera pteut être pas l'algo finale mais bon... En tout cas ca ne marchait pas je vais voir avec ce que tu m'a dis...
Marsh Posté le 21-12-2005 à 14:40:57
ReplyMarsh Posté le 21-12-2005 à 15:50:01
en plus des autres remarques y'a ca qui ne fonctionnera pas
Code :
|
C'est plutot
Code :
|
Marsh Posté le 21-12-2005 à 15:50:36
Heyboy a écrit : En fait je les aies initialisé avec des variables PHP du type $ip=$_GET['ip'] |
Par la suite, n'oublie de les tester avant de t'en servir. Injection de code tres facile.
Marsh Posté le 21-12-2005 à 16:15:58
cinocks a écrit : Par la suite, n'oublie de les tester avant de t'en servir. Injection de code tres facile. |
Quand il parle d'injection de code il veut dire par là qu'il est facile de taper un morceau de synthaxe SQL dans ton champs de formulaire et lorsque tu le postes ben ta requete a une autre forme.
Marsh Posté le 21-12-2005 à 12:31:18
J'ai un problème avec un '$' qui apparement n'apparait pas dans mon code.
<?
/*---------------
DEBUT DU CODE PHP
---------------*/
echo("<HTML>" );
echo("<HEAD>" );
echo("<TITLE>Plan d adressage IP</TITLE>" );
echo("<LINK REL='stylesheet' HREF='feuille_de_style.css'>" );
echo("</HEAD>" );
echo("<BODY>" );
echo("<A HREF='index.html'>Aller au formulaire</A>" );
echo("<BR />" );
/*---------------------------------------------------------------------------------
Différentes en-têtes comme des feuilles de style ou des script php sont insérés ICI.
---------------------------------------------------------------------------------*/
include("connexion_mysql.php" );
/*--------------------------------
Requêtes à effectuer dans la base
--------------------------------*/
$affichage_table=mysql_query("SELECT * FROM adressage" );
$affichage_champs=mysql_query("SHOW COLUMNS FROM adressage" );
/*--------------------
Requêtes de supression
--------------------*/
if(isset($_GET["enregistrement"])) {
$enregistrement=$_GET['enregistrement'];
$del_occ="DELETE FROM adressage WHERE id='$enregistrement'";
mysql_query($del_occ); }
/*--------------
Requêtes d'ajout
--------------*/
if(isset($_GET["type"]) || isset($_GET["role"]) || isset($_GET["description"]) || isset($_GET["netbios"]) || isset($_GET["user"]) || isset($_GET["systeme"]) || isset($_GET["av"]) || isset($_GET["cd"]) || isset($_GET["domaine"]) || isset($_GET["notes"])) {
$type=$_GET['type'];
$role=$_GET['role'];
$description=$_GET['description'];
$netbios=$_GET['netbios'];
$user=$_GET['user'];
$systeme=$_GET['systeme'];
$av=$_GET['av'];
$cd=$_GET['cd'];
$domaine=$_GET['domaine'];
$notes=$_GET['notes'];
$add_occ="INSERT INTO adressage VALUES ('$ip','$type','$role','$description','$netbios','$user','$systeme','$av','$cd','$domaine','$notes')";
mysql_query($add_occ); //ajoute une occurence. }
/*---------------------------------------
AFFICHAGE DE LA BASE DANS UN TABLEAU HTML
---------------------------------------*/
echo("<TABLE BORDER='1' CLASS='tableau' WIDTH='100%'>" );
echo("<TR>" );
while($champs_tableau=mysql_fetch_assoc($affichage_champs)) {
echo("<TD>".$champs_tableau['Field']."</TD>" ); }
echo("</TR>" );
while($lignes_tableau=mysql_fetch-array($affichage_table)) {
echo("<TR>" );
for($i=0;$i<12;$i++) {
echo("<TD>".$ligne[$i]."</TD>" ); }
echo("<TD><A HREF='bdd.php?enregistrement='".$ligne["id"].">Supprimer</A></TD>" );
echo("</TR>" );
echo("</TABLE>" );
echo("<BR />" );
/*------------------
Fermeture de la base
------------------*/
/*----------------------
DEBUT DU CODE JAVASCRIPT
----------------------*/
/*
echo("<SCRIPT LANGUAGE='JavaScript'>" );
echo("var longueur_tableau=document.links.length;" );
echo("</SCRIPT>" );
*/
echo("</BODY>" );
echo("</HTML>" );
?>
Merci de bien vouloir y jeté un coup d'oeil et de me proposer des conseils.
PS: voila le message du d'erreur:
Parse error: parse error, unexpected $ in /home/e-smith/files/ibays/testphp/html/bdd.php on line 89