Insérer dans la BD

hadjir Messages postés 132 Statut Membre -  
EminoMeneko Messages postés 2499 Statut Membre -
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.
Configuration: Windows XP
Opera 9.63

8 réponses

  1. EminoMeneko Messages postés 2499 Statut Membre 318
     
    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
  2. hadjir Messages postés 132 Statut Membre
     
    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
  3. hadjir Messages postés 132 Statut Membre
     
    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
  4. EminoMeneko Messages postés 2499 Statut Membre 318
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. hadjir Messages postés 132 Statut Membre
     
    Bonjour,
    merci mais svp a ce que vous pouvez me donner exectement l'erreur (a quelle niveau) -> l'instruction
    merci d'avance
    0
  7. EminoMeneko Messages postés 2499 Statut Membre 318
     
    Elle fait quoi au juste cette page d'indexation ?
    0
  8. hadjir Messages postés 132 Statut Membre
     
    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
  9. EminoMeneko Messages postés 2499 Statut Membre 318
     
    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