Erreur PHP/SQL

Résolu/Fermé
MOH show - 9 avril 2009 à 23:43
 Samy - 10 avril 2009 à 14:20
Bonjour,

j'ai un formulaire :
<FORM name="formulaire" method="post" action="ajouter.php"> 
<label for="nom">Nom de la radio</label><br>
<INPUT type=text name="nom" id="nom"><br><br>

<label for="urlflux">Url du flux</label><br>
<INPUT type=text name="urlflux" id="urlflux"><br><br>

<INPUT type="submit" value="Envoyer">
</FORM>


et le fichier ajouter.php :

<?php 
include(”connexion.php”); 
  
if ($POST['nom'] != ” AND $POST['urlflux'] != ”) 
{ 
connexion(); 
  
$sql = “INSERT INTO radio(id,nom,urlflux) “; 
$sql .= “VALUES(”,’$_POST['nom']‘,’$_POST['urlflux']‘)”; 
  
mysql_query($sql) or die(mysql_error()); 
} 
else 
{ 
echo ‘Erreur ! Vous devez remplir tous les champs !’; 
} 
?> 


-----------------------------------------------------------------------------
Donc voila, j'ai une erreur :
Parse error: syntax error, unexpected T_STRING in /home/m/medialike/html/test/radio/ajouter.php on line 8

dans le fichier ajouter.php quand je valide dans le formulaire.





Pouvez vous m'aider à resoudre cela ?

11 réponses

Nieli Messages postés 83 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 23 avril 2009 6
9 avril 2009 à 23:58
if ($POST['nom'] != ” AND $POST['urlflux'] != ”)

Euh, c'est quoi le caractère que tu as mis après != ??

Dans tous les cas, il semblerait que tu veuilles vérifier que les champs sont bien renseignés.
Si c'est le cas, utilise la fonction isset($variable) qui te renvoie un booléen.
(Pour info, pour comparer des chaines de caractères en PHP:

  if (strcmp($chaine1, $chaine2) == 0) {
   // chaine identique
  }


Tu ne peux pas faire (chaine1 == chaine2).

Voili Voila Voilu, bon courage.
0
ben, en faite.....

j'ai pris le script sur cette page : https://www.valhalla.fr/2005/09/25/construire-une-base-de-donnees-simple-avec-php-et-mysql/


Et j'ai pas un niveau élever en PHP ^^
0
Nieli Messages postés 83 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 23 avril 2009 6
10 avril 2009 à 00:33
Ben remplace
if ($POST['nom'] != ” AND $POST['urlflux'] != ”)
Par
if(isset($_POST['nom'] && isset($_POST['urlflux'])


(d'ailleurs, c'est $_POST pas $POST attention è.é)


EDIT: Un conseil, change de tutorial, il y a pas mal d'erreurs sur celui là.
0
Avec ta correction....

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/m/medialike/html/test/radio/ajouter.php on line 4


...super......... :s



Sinon, oui, je vais sans doute change de tuto.

A moins qu'il y a quelqu'un pour m'aider en postant un script pour ajouter des valeurs dans une table de la base de donnée en utilisant ce formulaire... =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai un formulaire :

<FORM name="formulaire" method="post" action="ajouter.php">
<label for="nom">Nom de la radio</label><br>
<INPUT type=text name="nom" id="nom"><br><br>

<label for="urlflux">Url du flux</label><br>
<INPUT type=text name="urlflux" id="urlflux"><br><br>

<INPUT type="submit" value="Envoyer">
</FORM>



et le fichier ajouter.php :

<?php
include(”connexion.php”);

if ($POST['nom'] != ” AND $POST['urlflux'] != ”)
{
connexion();

$sql = “INSERT INTO radio(id,nom,urlflux) “;
$sql .= “VALUES(”,’$_POST['nom']‘,’$_POST['urlflux']‘)”;

mysql_query($sql) or die(mysql_error());
}
else
{
echo ‘Erreur ! Vous devez remplir tous les champs !’;
}
?>


<?
required("connection.php");
$nom = $_POST['nom'];
$urlflux = $_POST['urlflux'];

mysql_query("INSERT INTO radio values ('','$nom','$urlflux')");

// Simple et efficace normalement lol
mysql_close();
?>


Quand on début il vaut mieu utiliser une syntaxe simple, pour ensuite comprendre quand ça dévient beaucoup plus compliqué ^^
0
efficace ?

Fatal error: Call to undefined function required() in /home/m/medialike/html/test/radio/ajouter.php on line 2



et tu t'ai gourré, c'est connexion.php et pas connection.php ;) Mais j'ai corriger ce petit detail.
0
Pour info, dans la page connexion.php, il y a :

<?php 
$host = “###censure###”; /* L’adresse du serveur */ 
$login = “###censure###”; /* Votre nom d’utilisateur */ 
$password = “###censure###”; /* Votre mot de passe */ 
$base = “###censure###”; /* Le nom de la base */ 
  
function connexion() 
{ 
global $host, $login, $password, $base; 
$db = mysql_connect($host, $login, $password); 
mysql_select_db($base,$db); 
} 
?> 


;)
0
euhh... j'ai pas dit que le sujet est resolue. ^^

dans le message 6, j'aurai mettre l'inverse.

j'ai corriger le nom du fichier connexion.php.

Mais j'ai le message d'erreur :

Fatal error: Call to undefined function required() in /home/m/medialike/html/test/radio/ajouter.php on line 2
0
J'ai reussi !!!

Je me suis servi du Site du Zero.

J'ai fait un simple fichier :

<?php 
mysql_connect("url_de_la_base", "nom_d'utilisateur", "mot_de_passe"); // Connexion à MySQL
mysql_select_db("nom_de_la_base"); // Sélection de la base

$nom = $_POST['nom']; 
$urlflux = $_POST['urlflux']; 

mysql_query("INSERT INTO radio values ('','$nom','$urlflux')"); 

// Simple et efficace normalement lol 
mysql_close(); 
?> 


Ca fonctionne. Les valeurs ce sont bien ajouter dans la base de donnée. ^^

Mais... est ce que les infos de connexion sont sùr si je les places dans ce fichier comme ici ?
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
10 avril 2009 à 14:04
oui c'est sûr...

la fonction required() n'existe pas, require() oui, et utilise bien les ' et " au lieu de quotes chelou

et pour finir, isset($var) est tout à fait différent de $var != ''
0
Euh faut pas copier coller ce que je marque hein ?

J'écris ça a la va vite pour te donner une idée de la marche a suivre.

Donc bien sur mon script n'etais pas du tout complet mais le reste c'est du petit lait :o t'as juste a corriger les fautes et a rajouter tes trucs ^^
0