Variable inattendue...

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 : Variable inattendue...

par Cypher_PHP » 31 juil. 2005, 10:57

salut à tous

je tiens à apporter la solution finale

elle sert à enregister des données dans une base de données mysql par un formulaire html.

voici mes bouts de code:

fichier config.php:
<?php
    $dbhost="sql.free.fr";
    $dblogin="xxxxxx";
    $dbpassword="xxxxxxx";
    $dbname="xxxxxx";
	$dbtable='members';

$members=mysql_pconnect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
mysql_select_db($dbname, $members);

$RecorMembers= mysql_query ("select * from $dbtable order by id desc");
$row_RecorMembers = mysql_fetch_assoc($RecorMembers);

$RecorId= mysql_query ("SELECT * FROM $dbtable where id='" . $_GET['num'] . "'");
$row_RecorId = mysql_fetch_assoc($RecorId);

//------ Chemin des images
define("image_path",'http://0540gbqu.free.fr/test/members/imgs/');

?>
fichier form_add.php:
<?php 
require_once('config.php');
?>
<html>
<link href="cypher.css" rel="stylesheet" type="text/css">

<body>
<div align="center">
  <p class="text_titre">Administration</p>
  <p class="text_sstitre">Page d'ajout des membres</p>
</div>
<table border="0" align="center" cellpadding="0" cellspacing="0" class="header">
  <tr class="header"> 
    <td><a href="index.php">Accueil</a></td>
    <td><a href="form_add.php">- Ajout des membres</a></td>
    <td><a href="list_update.php">- Modification</a></td>
    <td><a href="list_delete.php">- Suppression</a></td>
    <td><a href="list.php">- Liste des membres</a></td>
    <td><a href="imgs/upload_imgs.php">- Upload d'une image</a></td>
  </tr>
</table>
<form method="POST" action="valide_add.php">
  <span class="text_form">Nom:</span> 
  <input type=text name="name"  value="<?php echo $name ?>">
  <br>
  <span class="text_form">Prénom:</span> 
  <input type=text name="prenom" value="<?php echo $prenom ?>"><br>
  <span class="text_form">Image:</span> 
  <input type=text name="image" value="<?php echo $img ?>"><br>
<input type=submit value="Enregistrer">
</form>
</body>
</html>
fichier valid_add.php:
<?php 
require_once('config.php');
    
    // --- Récupération des données du formulaire
$prenom = $_POST['prenom'];
$name    = $_POST['name'];
$img    = $_POST['imgs'];

$RecorInsert = "INSERT INTO $dbtable VALUES ('', '$name', '$prenom', '$img', now())";
mysql_query($RecorInsert) or die(mysql_error()); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="cypher.css" rel="stylesheet" type="text/css">
</head>
<body>
<p class="text_titre">Administration </p>
  
<p class="text_sstitre">Page d'ajout des membres</p>
<table border="0" align="center" cellpadding="0" cellspacing="0" class="header">
  <tr class="table_RSS"> 
    <td><a href="index.php">Accueil</a></td>
    <td><a href="form_add.php">- Ajout des membres</a></td>
    <td><a href="list_update.php">- Modification</a></td>
    <td><a href="list_delete.php">- Suppression</a></td>
    <td><a href="list.php">- Liste des membres</a></td>
    <td><a href="imgs/upload_imgs.php">- Upload d'une image</a></td>
  </tr>
</table>
<p><br>
  Bravo vous avez ajouté:</p>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><?php echo $_POST['id'];?></td>
    <td><?php echo $_POST['date'];?></td>
    <td><?php echo $_POST['name'];?></td>
    <td><?php echo $_POST['prenom'];?></td>
    <td><?php echo $_POST['imgs'];?></td>
    <td><img src="<?php echo image_path . $row_RecorMembers['imgs'];
?>" hspace="0" vspace="0" border="0"></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>

Merci à tous
Cordialement
Cypher_PHP

par ouckileou » 10 juil. 2005, 16:47

- on utilise plus mysql_db_query() mais mysql_query()
=> http://fr3.php.net/manual/fr/function.m ... -query.php

- est-ce que tu récupères bien tes variables $name et $prenom dans valide.php
fais un echo de ces deux variables déjà

- affiche les erreurs MySQL qui pourraient survenir :
mysql_query($requete) or die(mysql_error());
si ça ne fonctionne toujours pas, ouvre un nouveau post dédié à ce problème

par Cypher_PHP » 10 juil. 2005, 16:34

je viens de tester

non aucun enregistrement

rien du tout


bizarre non?

:oops:

Cordialement
Cypher_PHP

par ouckileou » 10 juil. 2005, 16:31

cad que lors du saisie dans le formulaire, les informations dans les champs ne sont pas envoyées dans la base
c'est ton nouveau problème ?

par Cypher_PHP » 10 juil. 2005, 16:30

ah c'est bcp mieux
l'erreur ne s'affiche plus

mais cela s'enregistrait dans la base sans contenu( vide)
cad que lors du saisie dans le formulaire, les informations dans les champs ne sont pas envoyées dans la base



Cordialement
Cypher_PHP

par ouckileou » 10 juil. 2005, 16:29

et comme je l'ai dit cette erreur se retrouve dans les deux autres scripts ;)

par Cyrano » 10 juil. 2005, 16:19

regarde bien ton script valide.php:
require_once('config.php'); <== et le ";" ?

par Cypher_PHP » 10 juil. 2005, 16:17

je me désespère

j'ai maintes fois corrigé et fait attention à tout
rien
je ne comprends pas
ce serait sympa de m'aider ;)

voici l'erreur avec le commentaire qui indique le numero de ligne dans le fichier valide.php:
Parse error: parse error, unexpected T_VARIABLE in /var/www/free.fr/d/f/xxxxxx/test/valide.php on line 5
je remets mes codes PHP


form.php
<?php 
require_once('config.php')

?>
<html>
<body>
<form method="POST" action="valide.php">
Nom: <input type=text name="name"  value="<?php echo $name ?>"><br>
Prénom: <input type=text name="prenom" value="<?php echo $prenom ?>"><br>
<input type=submit value="Enregistrer">
</form>
</body>
</html>

valide.php
<?php 
require_once('config.php')
    
    // --- Récupération des données du formulaire
// ligne 5 ci-dessous 
$prenom = $_POST['prenom'];
$name    = $_POST['name'];

$RecorInsert = "INSERT INTO $dbtable VALUES ('$name', '$prenom')";
$RecordInsert2 = mysql_db_query("dbname", $RecorInsert);
?>
Recup.php
<?php 
require_once('config.php')
?>
<html>
<head>
</head>
<body>
<table width="75%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td colspan="2"><?php do {?></td>
  </tr>
  <tr> 
    <td width="45%"><?php echo $row_RecorMembers['name'];?></td>
    <td width="55%"><?php echo $row_RecorMembers['prenom'];?></td>
  </tr>
  <tr> 
    <td colspan="2"><?php } while ($row_RecorMembers = mysql_fetch_assoc($RecorMembers));?></td>
  </tr>
</table>

</body>
</html>
config.php
<?php
    $dbhost="sql.free.fr";
    $dblogin="xxxx";
    $dbpassword="xxxx";
    $dbname="xxxx";
$dbtable='xxxxxx';

$members=mysql_pconnect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
mysql_select_db($dbname, $members);

$RecorMembers= mysql_query ("select * from $dbtable order by id desc");
$row_RecorMembers = mysql_fetch_assoc($RecorMembers);
?>

par fggdm » 10 juil. 2005, 14:57

Ah les Cascading Style Shit ?!

par Cyrano » 10 juil. 2005, 14:55

lol, merci fggdm, j'avais pas vu, j'ai édité et corrigé :P
Et non, en ce moment, je suis à fond dans les "CSS de la mort qui tue" :langue:

par fggdm » 10 juil. 2005, 14:53

Salut,

Étude d'un champ lexical :
"messages comportant le mort "Urgent" ne sont pas bienvenus, prière de lire"...

Cyrano, tu es en train de travailler sur le site des P.F.G. ?

par ouckileou » 10 juil. 2005, 14:51

donc si je comprends bien, je mets ci-desous:

name=<? $name?>

Cordialement

Cypher_PHP
si tu veux afficher le contenu d'une variable oui, il faut faire quelquechose de ce genre là
j'opterai plutôt pour :
Nom: <input type=text name=<?php echo $name; ?>>
mais si tu laisses ton code comme il est actuellement, cela t'affichera "$nom", mais cela ne causera pas d'erreur

relis ce que je t'ai dit : ton erreur ligne 4 provient d'une instruction mal terminée.
Donc si tu cherches au dessus de ton erreur, tu devrais voir qu'il manque quelquechose à la fin d'une ligne...

par Cypher_PHP » 10 juil. 2005, 14:47

donc si je comprends bien, je mets ci-desous:

name=<? $name?>

Cordialement

Cypher_PHP

par Cyrano » 10 juil. 2005, 14:43

Tu es tout excusé: le problème est [Résolu] ?

par ouckileou » 10 juil. 2005, 14:43

c'est pas grave, c'était juste une remarque

Tu as le droit de chercher ton erreur et de revenir si tu ne la trouve pas ! :wink: