8792 sujets

Développement web côté serveur, CMS

Deja un grd bonjour a toute la communaute c'est la premiere fois que j'y mets les pieds, alors que je vous expose mon cas... (et c'est pas simple... )
j'ai plusieurs pb...

1° il faudrait un script qui par un formulaire renvoie des infos saisi ds une bdd
2° il faudrait que la qu'on puisse afficher un certains contenu de la base de données sous forme de tableau...

tout ca sur deux pages differentes
une page formulaire,
une page affichage,

la difficulté supplementaire, c'est que l'acces au fomulaire est payant, avec un truc du style audiotel...

j'ai donc bidouiller des parti de script, piocher a droite et a gauche car j'y connai pas grd chose en PHP, mais plusieurs pb se pose, le script en lui meme...(a ameliorer ds le sens ou mes identifiant sont ds le fichier et dc pas proteger...), le fait que si apres la saisi du formulaire on fait precedent et bien on peut resaisir le formulaire et ca c'est pas prevu LOL,

Donc pouvez vous m'aider svp....

pop la santiague...
qui ne sais pas sur kel pied danser...

PS: dites moi si je dois ajouter des elements...merci...
Heu...t'aurais pas un lien, ou bout de code a mettre ?
Sinon...il te faut plus que deux pages.
1/ - le formulaire
2/ - envois des info dans la DB
3/ - affichage des infos.

Formulaire :
<form action="valid_add.php" method="post" enctype="multipart/form-data" name="form">
            <!--première ligne-->
                Nom :
                <input type="text" name="nom" value="">
                Marque :
            <!--deuxième ligne-->
                Prénom
                <input name='prenom' type='text'  value="">
            <!--troisième ligne--> 
                login
                <input name='login' type='text'  value="">     
               Description :
            <!--quatrième ligne--> 
               <textarea name='description' id='description' cols=40 rows=6 >
               </textarea><br />
            <!--cinquième ligne-->
               Avatar :
               <input type="hidden" name="MAX_FILE_SIZE" value="5000000">
               <input name="monfichier" type="FILE" >
            <!--sixième ligne-->
               <input name="submit" type="submit" value="validez">
           </form>

Je ne fais pas la mise en page...

la page valid_add :

              <?php
                       $connex=mysql_connect("adresse", USER, PASS);
                       $base=mysql_select_db(BASE);

                       $repertoireDestination = "../avat/";
                       $nomDestination        = $_FILES["monfichier"]["name"];


                       if (eregi(".php", $nomDestination)) {
                       $nomDestination .= ".txt";
                       }

                       if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
                       if (rename($_FILES["monfichier"]["tmp_name"],
                       $repertoireDestination.$nomDestination)) {
                       echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
                       " a été déplacé vers ".$repertoireDestination.$nomDestination.".<br />";
                       } else {
                       echo "Le déplacement du fichier temporaire a échoué".
                       " vérifiez l'existence du répertoire ".$repertoireDestination."<br />";
                       }
                       } else {
                       echo "Le fichier n'a pas été uploadé (trop gros ?)<br />";
                       }


//je ne concatène pas là, mais je te conseil de le faire ^^
                        $sql="INSERT INTO user (user_nom, , user_description, user_prenom, user_log, user_avatar)
                        VALUES ('$nom', '".addslashes($description)."', '$prenom', '$login'  '".$nomDestination."')";

                        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

                        $res=mysql_query($req);
                        echo " L'utilisateur ".$nom." a bien été ajouté.<br />";
                        mysql_close($connex);
?>


Ca reste basique.

Ensuite, pour la page d'affichage, et bien c'est classique :

<?php
$connex=mysql_connect("adresse", USER, PASS);
$base=mysql_select_db(BASE);
//en supposant que tu récupères la variable "id" 
$sql = SELECT * FROM user WHERE id='".$id."';
$res=mysql_query($req);
$data=mysql_fetch_object($res);
echo "
nom : ".$data->user_nom."<br />
prenom : ".$data->user_prenom."<br />
description : ".$data->user_description."<br />
avatar : <img src=avatar/".$data->user_avatar."<br />";
?>


Heu, pour audiotel...je sais pas vraiment comment ca fonctionne...si c'est pas session ou autre ? oO

Si c'est par session :

Sachant qu'il faut avant faire une page de forumlaire ou tu demandes d'entrer les informations :

<?php 
if(!isset($_SESSION['login'])) {
echo "
<form name="identification" method="post" action="connexion.php">
                        <div>
                        <input name="login" type="text" id="login"/>
                        <input name="pass" type="password" id="pass"/>
                        </div>
                        <div>
                          <input name="connection" type="submit" id="connexion" value="Connexion"/>
                        </div>
                        </form>":
}
else
{
echo "
<div>'.($_SESSION['login']).'</div>
                        <div><form name="deco" method="post" action="deco.php">
                        <br/>
                        <div>
                          <input name="deco" type="submit" id="deco" value="Se Deconnecter"/>
                        </div>
                        </form>
                        </div>
                        <div><a href="resa.php" target="_blank">Voir les réservations</a></div>";
        }
 ?>                       


la page connexion :

<?php session_start();
$loginOK = false; 
include("include/config.inc.php");
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

  extract($_POST);  

  $connex=mysql_connect("adresse", USER, PASS);
  $base=mysql_select_db(BASE);
   $sql = "SELECT * FROM user WHERE user_log = '".addslashes($login)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);

  if ($password == $data['user_pass']) {
      $loginOK = true;
      $_SESSION['login'] = $data['user_log'];
                  header("Location:index.php");
    }
    else {
       header("location:error.php");
    }
  }
else {
       header("location:error.php");
}
}
?>


Le code pour error.php (lol, trés simple) :

<?php
echo
'<div>authentification écouée</div>
<div><a href="index.php">retour</a></div>
';
?>


Enfin, la deconnexion :

<?php
// destruction de la session
session_start();
session_destroy();
header("Location:index.php");
?>


Si tu ne comprends pas certaines choses, n'hesite pas a demander.


EDIT : Chacune de tes pages devra comporter en premier (donc avant le debut du HTML (en "première ligne"), ce code :

<?php session_start(); ?>

Modifié par TheReverendEVIL (12 May 2006 - 14:17)
Bonjour à tous,

Ça me parait très bien tout cela. Est-ce que je peux utiliser ces scripts pour installer des news dans mon site. Mais vous pouvez pouver m'expliquer ceci:
//je ne concatène pas là, mais je te conseil de le faire ^^


Merci d'avance
Smiley cligne
Concatener, c'est tout simplement séparer les variable du "texte".

Exemple :


echo "Bonjour, je m'appelle ".$nom." ".$prenom ;

à la place de :

echo "Bonjour, je m'appelle $nom $prenom " ;


Et tu peux utiliser ces scripts, mais il y a des scripts de news tout fait, bien mieux que celui-ci. ^^

PHP scripts

Il y a de tout, y a qu'a cliquer et se servir. ^^

Bonne journée.
Bonjour
je souhaite intégrer un fil rss sur mon site en récupérant les informations de la base de données. je recherche de l'aide pour m'indiquer les erreures et les fichiers à créer. merci