Problème d'ajout en php

Fermé
gfcna - 26 avril 2010 à 09:25
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 - 26 avril 2010 à 10:32
Bonjour,

Voici l'erreur que ça m'affiche :

Warning: Variable passed to each() is not an array or object in C:\Users\Guillaume\Desktop\xampp\htdocs\adresse\ajout.php on line 16

Warning: mysql_close() expects parameter 1 to be resource, null given in C:\Users\Guillaume\Desktop\xampp\htdocs\adresse\ajout.php on line 51

et voici le code source :

<?php
include("config.inc.php");
?>
<html>
<title>Ajout d'un enregistrement</title>
<body>
<?php



/* _________________RECUP_DES_DONNEES____________________ */

while (list($var, $value) = each($HTTP_GET_VARS))
{
$tab_asso["$var"] = $value;
}



/* ____________________FORMULAIRE________________________ */

switch ($tab_asso[ok]) {

/* ____ENREGISTREMENT_____ */
case 1;
$requete=mysql_query("insert into carnet values('','$nom','$prenom','$adresse1','$adresse2','$cpostal','$ville','$tel','$fax','$email')");
echo "<p align=center><h1 align=center>Enregistrement réussi.<br><br><a href='carnet.php'>Retour</a></p>";
break;



/* ______AFFICHAGE DU FORMULAIRE____ */
default;
echo "<blockquote><table border=0><form method='get' action='ajout.php'><input type='hidden' name=ok value=1>
<td>Nom</td><td><input type='text' name=nom size=30 maxlenght=50></td>
<td align=right>Prénom</td><td><input type='text' name=prenom size=30 maxlenght=50></td><tr>
<td>Adresse</td><td><input type='text' name=adresse1 size=30 maxlenght=60></td>
<td align=right>Adresse (complément)</td><td><input type='text' name=adresse2 size=30 maxlenght=60></td><tr>
<td>Code postal</td><td><input type='text' name=cpostal size=30 maxlenght=5></td>
<td align=right>Ville</td><td><input type='text' name=ville size=30 maxlenght=30></td><tr>
<td>Téléphone</td><td><input type='text' name=tel size=30 maxlenght=15></td>
<td align=right>Fax</td><td><input type='text' name=fax size=30 maxlenght=15></td><tr>
<td>E-mail</td><td><input type='text' name=email size=30 maxlenght=30></td><tr>
</table></blockquote>";
echo "<table align=center><tr><td><input type='submit' value='Ajouter'></td><td><input type='reset' value='Tout effacer'></td></form><td><form method=get action='carnet.php'><input type=submit value='Annuler'></td></form></table>";
break;
}

MYSQL_CLOSE($db_link);
?>
</body>
</html>

j'ai besoin d'aide svp c'est important

Mercii
A voir également:

8 réponses

justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
26 avril 2010 à 09:42
Bonjour,

Je ne connait pas trop la fonction each() mais apparament, elle requiere un tableau ou objet en parametre.. A mon avis ya un changement de variables à faire.
0
c'est à dire je débute en php donc c'est dure dure.
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
26 avril 2010 à 10:03
Bah déja pour ton while , si tu veux comparer, faudrai remplacer sa :

while (list($var, $value) = each($HTTP_GET_VARS))

par sa :

while (list($var, $value) == each($HTTP_GET_VARS))


Sinon sa compare rien du tout !
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
26 avril 2010 à 10:03
c quoi ta variable $http_get_vars ?
0
voici l'erreur après le changement "=="

Parse error: syntax error, unexpected T_IS_EQUAL, expecting '=' in C:\Users\Guillaume\Desktop\xampp\htdocs\adresse\ajout.php on line 13
0

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

Posez votre question
j'ai résolu le problème
avec each en remplaçant each($HTTP_GET_VARS)) par each($_POST))

il me reste cette erreur désormais :

Warning: mysql_close() expects parameter 1 to be resource, null given in C:\Users\Guillaume\Desktop\xampp\htdocs\adresse\ajout.php on line 48
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
26 avril 2010 à 10:15
Tu l'a bien parametré ton $db_link ?
genre

$db_link = mysql_connect($myServer, $myUser, $myPass)
or die("Connexion impossible sur le serveur $myServer");
0
effectivement ça venait de là problème résolu maintenant j'ai un autre problème dans la page carnet.php :

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Users\Guillaume\Desktop\xampp\htdocs\adresse\carnet.php on line 17

/////////////


<?php
include("config.inc.php");
?>
<html>
<title>Carnet d'adresse</title>
<body bgcolor="#FFFFFF">
<h1 align=center>Carnet d'adresse</h1><br>

<?php




/*___________________AFFICHAGE_DES_ENREGISTREMENTS_____________________ */

$result = MYSQL_QUERY("select * from carnet order by nom");
$number = MYSQL_NUM_ROWS($result);
echo "<p align=center>$number enregistrements.</p><br>";
$i=0;
echo "<table border=1 align=center><tr><th>Nom</th><th>Prénom</th><th>Adresse</th><th>Code Postal</th><th>Ville</th><th>Téléphone</th><th>Fax</th><th>E-mail</th><th colspan=2>Opérations</th></tr>";

while ($i<$number) {
$id=mysql_result($result,$i,"id");
$nom=mysql_result($result,$i,"nom"); if ($nom=="") {$nom="-";}
$prenom=mysql_result($result,$i,"prenom"); if ($prenom=="") {$prenom="-";}
$adresse1=mysql_result($result,$i,"adresse1");
$adresse2=mysql_result($result,$i,"adresse2");if (($adresse2=="")&&($adresse1=="")) {$adresse1="-";}
$cpostal=mysql_result($result,$i,"cpostal");if ($cpostal=="") {$cpostal="-";}
$ville=mysql_result($result,$i,"ville");if ($ville=="") {$ville="-";}
$tel=mysql_result($result,$i,"tel");if ($tel=="") {$tel="-";}
$fax=mysql_result($result,$i,"fax");if ($fax=="") {$fax="-";}
$email=mysql_result($result,$i,"email");if ($email=="") {$email="-";}

echo "<tr><td align=center><b>$nom</b></td><td align=center>$prenom</td><td align=center>$adresse1";
echo "<br>$adresse2</td><td align=center>$cpostal</td><td align=center>$ville</td><td align=center>$tel</td><td align=center>$fax</td><td align=center>$email</td><td><a href='modif.php?id=$id'>Modifier</a></td><td><a href='effacer.php?eff=$id'>Effacer</a></td></tr>";
$i++;
}
echo "</table>";


/* _________________________MENU____________________________ */

echo "<br><br><br><a href='ajout.php'><p align=center>Ajouter un enregistrement</p></a>";


MYSQL_CLOSE();
?>

</body>
</html>
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
26 avril 2010 à 10:32
Et bien la syntaxe a l'aire correct, c'est peut être dans la base de donnée qu'il y a un pb , sinon moi pour aficher le nre de ligne totale s'une table je fait :


$lignes=0;
$lignes=mysql_query("SELECT COUNT(*) as NBR FROM ta_table");
$row=mysql_fetch_object($lignes);
$total=$row->NBR;


echo $total.'enregistrement';
0