Insérer dans la BD

Fermé
hadjir Messages postés 107 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 7 janvier 2010 - 9 avril 2009 à 15:13
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 - 10 avril 2009 à 00:34
Bonjour,
j'ai une formulaire qui contient le champ "URL" quand l'utilisateur rentre l'URL, je doit récupérer le contenu de champ "URL" pour aller a la page d'indexation mais au même temp je souhaite insérer le contenu de ce champ dans la base de donnée.
mais j'arrive pas a le résoudre. voila le code :

<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db("INFOS") ;
?>
<html>
<body>
<form name="insertion" method="post" action="page11.php">
<table class="indexation">
<tr>
<td align="left" valign="top"> <p> <strong>Faite entré l'URL du site</strong></p></td>
<td align="left" width="500px;">
<input name="url" type="text" size="50" />
<?php
if(isset($_POST["url"])) $url = $_POST["url"] ;
if((!empty ($url)) && (isset($_POST["url"])))
{
$site =$url;
$file = @fopen($site, 'r');
if ($file)
{
echo 'URL valide !';
}
else
{
echo 'URL non valide !';
}
}
?>
</td>
<tr/>

</table>

<input class="valider" style="font-size:13px; width:200px; "type="submit" value= "Valider Indexation">

</form>
</body>
</html>

<?php
if((isset($_POST["url"]))&&(isset($_POST["type_offre"]))&&(isset($_POST["resume"])))

if((!empty ($url))&&(!empty ($type_offre))&&(!empty ($resume)))
{
//création de la requête SQL:

$sql = "INSERT INTO fichier (url, type_offre, resume)
VALUES ('$url', '$type_offre','$resume')" ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
mysql_close();
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("<META HTTP-equiv=\"refresh\" content=0;URL=page11.php>");
}
else
{
echo("L'insertion à échouée<br>") ;
}
}

?>

"page11" c'est la page qui contient le code d'indexation.
"fichier" la table dans la base de donnée "INFO"

svp a ce qu'il ya qlq peut m'aidez pour le résoudre.

merci d'avance.

8 réponses

EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
9 avril 2009 à 15:24
Fais attention de ne pas laisser tes identifiants de connexion dans les codes que tu transmets sur le net.
Moi quand j'avais développé mon CMS j'avais utilisé une méthode qui consiste à écrire des bibliothèques de fonctions et des pages de configuration à inclure dont une où je met mes identifiants de connexion. Du coup quand je copie/colle un code pour me faire aider au mieux on verra un include ou include_once vers un fichier et pas de risque de divulguer mes identifiants par inadvertance. Et c'est pas le seul avantage de cette méthode. :)

Je ne suis pas sur de voir ce qui ne va pas. Ca fait un moment que je n'ai plus touché de PHP mais de ce que j'ai feuilleté tout semble correct sauf une chose pour laquelle je m'interroge. La partie où tu exécute ta requête c'est bien le page11.php non ?

Parce que de ce que je sais quand tu valide un formulaire il va envoyer les informations à la page définie dans le champ action.
Tu utilise la méthode POST pour envoyer celles-ci ce qui est très bien mais au moins le temps du développement utilise la méthode GET pour voir dans ta barre d'adresse les valeurs et variables qui transitent.

En fonction de l'une ou de l'autre des méthode tu devras utiliser un code du genre

<code>
$variable=GET["variable"];

$variable=POST["variable"];
<code>
0
hadjir Messages postés 107 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 7 janvier 2010
9 avril 2009 à 15:43
Bonjour,
merci beaucoup pour votre réponse.
mais j'arrive pas a le résoudre a ce que vous pouvez me donner exectement l'erreur.
désolé pour le dérengement.merci d'avance.
0
hadjir Messages postés 107 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 7 janvier 2010
9 avril 2009 à 15:51
Bonjour,
voila le code de "page11"

<?php
function epureHTML ($line)
{
return preg_replace ('@<[\/\!]*?[^<>]*?>@si', '',$line);
}

$code = $_POST['url'];
/*$code='http://www.vd.ch/fr/wwwvdch-et-typo3-modes-demploi/manuel-du-contributeur/le-texte/importer-du-texte/';*/
$line= file($code);
// display file line by line
foreach($line as $line)
{
/*$line1=htmlspecialchars($line);*/
echo epureHTML($line);
/*echo "$line1"; /*sans sauter la ligne*/
}
/* $line = ereg_replace("<[^>]*>", "", $line);
/* echo (" $line"); /*sauter a la ligne*/
?>

merci de me répondre, et merci d'avance.
0
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
9 avril 2009 à 16:06
Pourquoi les 3/4 des lignes sont commentées ? C'est normal ?

En PHP un commentaire c'est comme en C/C++

// Commentaire

/*
Commentaire
sur
plusieurs
lignes
*/


C'est sur cette page qu'on devrait voir les requetes SQL et je doute de l'utilité ou de la fonction de file()...
Personnellement je ne codais pas comme ça en tout cas. oO
0

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

Posez votre question
hadjir Messages postés 107 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 7 janvier 2010
9 avril 2009 à 19:16
Bonjour,
merci mais svp a ce que vous pouvez me donner exectement l'erreur (a quelle niveau) -> l'instruction
merci d'avance
0
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
9 avril 2009 à 21:51
Elle fait quoi au juste cette page d'indexation ?
0
hadjir Messages postés 107 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 7 janvier 2010
9 avril 2009 à 22:17
Bonjour,
quand un utilisateur rentre "URL" dans le formulaire.
donc dans la page indexation, je récupére l'URL pour indexer la page correspondant ->c-à-d:
je récupére le code source de la page qui correspond a l'URL, puis j'élimine les balises html.

ma question est la suivante -> quand l'utilisateur rentre l'URL je souhaite de récupérer ce URL et insérer dans la base de donnée.

merci
0
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
10 avril 2009 à 00:34
Oui, donc c'est comme je l'ai dis. Il faut écrire le code avec la requete sql dans page11 et pas dans le formulaire.

Utiliser
$variable=GET["variable"];
OU BIEN
$variable=POST["variable"];

en fonction de ce que l'on a utilisé pour récupérer les variables

Exemple très vite fait

form.php:
...
<form method="post" action)"process.php">
 <input type="text" name="url">
 <input type="submit">
</form>
...

process.php:
...
$url_recup=POST["url"];

// Tout le toutim avec la connexion à la base plus requête SQL
...
0