problème avec insert into

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 : problème avec insert into

par ouckileou » 02 mars 2005, 19:50

oui ici (pour les erreurs PHP)
http://www.nexen.net/erreurs/

par Florent » 02 mars 2005, 19:30

tu mets le session_start() au début et apres tu vérifies si c'est un membre ou pas y a rien de difficile a comprendre
Pas difficile, quand on sait. Et effectivement je n'ai plus qu'un message d'erreur sur 3.
Pour la position de session_start(), j'ai copier une partie du code dans un cours trouvé sur un site.
Je ne pensais pas qu'il soit faux.

Bon je te remercie bien quand même.

Exite-ti un site qui répertorie les messages d'erreur ? Avec une "idée" de leur provenance.

par fab » 01 mars 2005, 21:15

tu mets le session_start() au début et apres tu vérifies si c'est un membre ou pas y a rien de difficile a comprendre

par Florent » 01 mars 2005, 21:08

> Il faut que le session_start() soit envoyé avant tout le reste le
> moindre echo fait afficher ces erreurs

Ok, merci. Mais j'aimerais comprendre :

Quand dans un espace membre, qu'une personne se connecte.
On regarde dans la base si le pseudo existe et concorde avec le pass.

on fait un test avec if et si c'est ok on a session_start()

Mais alors dans ce cas si il ne doit rien avoir avant, comment fait-on ?

Pas de rapport avec le insert into mais c'est la suite et le code donné dans le premier post peu aider.

par fab » 01 mars 2005, 20:39

quel rapport avec le insert into ? :)
ces erreurs veulent seulement dire que tu as déjà envoyé du HTML ou texte avec tn session_start();
Il faut que le session_start() soit envoyé avant tout le reste le moindre echo fait afficher ces erreurs

voilà

par Florent » 01 mars 2005, 19:13

Merci à vous deux. Je savais bien que c'était simple, mais je commençais a avoir le cerveau qui fume :)
Problème de ; !!!

Aussi j'utilise le système de session, que je maitrise très mal.
J'ai ces erreurs après avoir eu accès a la base :

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/florent/monsite-www/test/index.php:12) in /home/florent/monsite-www/test/connection.php on line 19

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/florent/monsite-www/test/index.php:12) in /home/florent/monsite-www/test/connection.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /home/florent/monsite-www/test/index.php:12) in /home/florent/monsite-www/test/connection.php on line 21

cela se produit si celui qui se connecte est bien dans la base et voici les quelques lignes en cause :
(ligne 17 à 22)
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();

Merci d'avance pour l'aide.

par pascaltje » 28 févr. 2005, 22:01

il manque quelques ";" dans ces lignes:
if ($data[0] == 0) {
$login=addslashes($_POST['login'])
$pass=md5(addslashes($_POST['pass']))
$village=addslashes($_POST['village'])
$email=addslashes($_POST['email'])
$date = date("Y-m-d H:i:s"); 
A+

Pascal

par iclo » 28 févr. 2005, 21:44

il faudrait que tu fasses un print de ta variable $sql après la ligne que tu nous a mis en gras pour voir ce que donne ton query avec toutes les variables. C'est le plus simple pour debugger un query récalcitrant... :D :D

problème avec insert into

par Florent » 28 févr. 2005, 21:34

Bonjour
Je fais un espace membre avec une table et une vingtaine de champs.
Ca fait 2 jours que je lis des manuels, tutoriaux :))) Et j'ai toujours des erreurs a ma ligne insert into. La dernière en date est Parse erreur. La ligne concernée est en gras.

include 'connection_inf.php';
mysql_select_db ('ma_base', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$login=addslashes($_POST['login'])
$pass=md5(addslashes($_POST['pass']))
$village=addslashes($_POST['village'])
$email=addslashes($_POST['email'])
$date = date("Y-m-d H:i:s");

$sql = "INSERT INTO membre (id,login,pass,village,email,date,descriptif)VALUES('','$login','$pass','$village','$email','$date','null')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();

Ca m'embete de demander de l'aide, pour un truc qui est surement tout c**
Mais bon je me lance et je bute déjà.
Merci pour l'aide.[/b]