Script php

Fermé
Mister-LVL0 - Modifié par Mister-LVL0 le 23/12/2014 à 12:11
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 23 déc. 2014 à 16:06
Salut j'ai creer une table sur mon sql 'key' il y à 6 colone je voudrait que quand les gens son sur mon site il remplise un formulaire et que quand il envoie le formulaire sa m'enregistre tout sur ma table key genre 'id'= 1
'pseudo'= test
'key' = 102315641232013131
'Date/heureé= 07/02/2015 : 15:30
Merci de ne pas faire attentions a mon Hortographe
A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 déc. 2014 à 16:06
Tu peux tester ça ? :

<?php       
//******** FONCTIONS Jordane *******************//
// => Idéalement.. fonctions à placer dans un fichier
// dont tu feras un INCLUDE ....
//------------------------------------------------//

// Petite fonction de debogage bien pratique..
 function debug($value,$title=NULL){
  echo "<pre>";
   echo "--> debug:";
     if ($title){
       echo "<b>".$title." : </b>";
     }       
    if(is_array($value)){
      echo "<br>";
      print_r($value);
    }else{
      echo $value;
    }  
		echo "<br>";
		var_dump(debug_backtrace());
    echo "</pre>";  
 
 }

 // Fonction pour récupérer les variables POST /SESSION / GET / COOKIE .
  function getParams($name,$type="POST",$default=''){  
     switch ($type){
     case "POST":
         $var = isset($_POST[$name])?$_POST[$name]:$default;
         break;
     case "GET":
          $var = isset($_GET[$name])?$_GET[$name]:$default;
         break;
     case "SESSION":
          $var = isset($_SESSION[$name])?$_SESSION[$name]:$default;
         break;
     case "COOKIE":
          $var = isset($_COOKIE[$name])?$_COOKIE[$name]:$default;
         break;
     }
     return $var;
 }
//********************************** FIN DES FONCTIONS ********************************// 
 
 
 
 

debug($_POST,"Variables POST");
if(isset($_POST['ok'])) {
   echo "<div class='alert alert-danger'>
				 <strong>Erreur:</strong> Vérifier les codes! ( <a href='starpass.php'>Retour</a> )
				 </div>";
   exit(); 
}

if(isset($_POST){
 $codes = getParams('codes');
 $offre = getParams('offre');
 $username = getParams('username','SESSION');
 $arrParam = array(':pseudo' => $username, ':codes' => $codes, ':offre' => $offre);
 
 debug($arrParam,'Paramètres de la requete');
 
 try{
	 $sql= "INSERT INTO `starpass` VALUES(:pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())";
	 $insertLogSQL = $odb->prepare($sql);
	 $insertLogSQL->execute($arrParam);
  } catch(Exception $e){
     debug($e," ERREUR dans la requête !");
		 exit();
  }

?>
<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button>
 Bravo, votre demande a l'abonnement <?php echo htmlentities($offre); ?> est actuellement en attente ! Elle sera activée sous 12 heures
 </div>

 <?php
}
?>        
  <div class="row">
 <div class="col-sm-6">
  <div class="panel panel-primary" id="charts_env">
  
   <div class="panel-heading">
    <div class="panel-title"><i class="entypo-phone"></i> Achat par appels</div>
     <div class="panel-options">
			<a href="#" data-rel="collapse"><i class="entypo-down-open"></i></a>
    </div>
	 </div>

		 <div class="panel-body">
			<form action='' method='post'>
				<input type="text" class="form-control" placeholder="<?php echo $_SESSION['username']; ?>" disabled><br><br>
				<input type="text" class="form-control" name="codes" placeholder="Exemple : 0y45sd7d456456456hkhgkghk ">
				<br><br>
				<button  class="btn btn-info btn-icon icon-left" name="ok" type="submit"><i class="entypo-check"></i> Valider mes codes</button>
			</form>
		</div>
	</div>
</div>
                        
<section>
  <table class="table grid table-striped table-bordered table-condensed">
		<thead>
			<tr>
				<th>Pseudo</th>
				<th>Codes</th>
				<th>Offre</th>
				<th>Date & Heure</th>
				<th>Etat de la demande</th>
			</tr>
		</thead>
		<tbody>
				<?php
				$sql = "SELECT * 
							 FROM `starpass` 
							 WHERE `pseudo` = '".$_SESSION['username']."' 
							 ORDER BY `id` DESC ";
				$SQLGetLogs = $odb->query($sql);
				{
				$user = $getInfo['pseudo'];
				$IP = $getInfo['codes'];
				$IP2 = $getInfo['offre'];
				$IP3 = $getInfo['date'];
				$id = $getInfo['id'];

				 if($getInfo['fait'] == "1") { $etat = '<span class="label label-success">Accepté.</span>'; }
						 if($getInfo['fait'] == "0") { $etat = '<span class="label label-info">En attente.</span>'; }
						 if($getInfo['fait'] == "2") { $etat = '<span class="label label-danger">Refusé.</span>.'; }
						 if($getInfo['fait'] == "3") { $etat = '<span class="label label-warning">Code(s) manquant.</span>'; }
						 $date = date("d/m/Y" ,$getInfo['date']);

				echo '<tr class="odd gradeX"><td>'.$user.'</td><td>'.$IP.'</td><td>'.$IP2.'<br></td><td>'.$date.'<br></td><td>'.$etat.'<br></td></tr>';
				}

				?> 
			</tbody>
	</table>
</section>

1
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 déc. 2014 à 12:16
Bonjour,


quand les gens son sur mon site il remplise un formulaire et que quand il envoie le formulaire sa m'enregistre tout sur ma table

- Tu as fais le formulaire HTML ?
- Tu envoies les données en POST ou en GET ?
- Tu as essayé de faire la "récupération" de ces données dans ton script PHP ?

Bref...Sur quoi bloques tu EXACTEMENT ?

Sachant que pour enregistrer dans une BDD .. il te faudra faire une REQUETE de type
INSERT
La syntaxe étant :
INSERT INTO table VALUES ('valeur 1', 'valeur 2', ...)

Ou.. en précisant les CHAMPS de ta table à remplir :

INSERT INTO table  (champ1,champ2,champ3...) VALUES ('valeur 1', 'valeur 2','valeur 3' ...)
0
oui la page html et faite mes je bloque sur se code il me fait une erreur

die;
 }
 $offre = $_POST['offre'];


  $insertLogSQL = $odb -> prepare("INSERT INTO `starpass` VALUES(NULL, :pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())");
  $insertLogSQL -> execute(array(':pseudo' => $_SESSION['username'], ':codes' => $_POST['codes'], ':offre' => $offre));



EDIT : AJOUT DES BALISES DE CODE !
0
Quel genre de balise ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Mister-LVL0
Modifié par jordane45 le 23/12/2014 à 12:27

je bloque sur se code il me fait une erreur


1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 - Une erreur... LAQUELLE ??? ( c'est à toi de nous dire EXACTEMENT ce que tu as comme souci.. pas à nous de devoir en permanence essayer des les deviner ! )

3 - Quand tu récupères des variables POST./ SESSION ... le mieux est déjà de vérifier qu'elles existent :
  $offre  = isset($_POST['offre'])?$_POST['offre']:'';
$username  = isset($_SESSION['username'])?$_SESSION['username']:'';
  $code  = isset($_POST['codes'])?$_POST['codes']:'';

 $sql = "INSERT INTO `starpass` 
     VALUES(:pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())";
  $insertLogSQL = $odb -> prepare($sql);
  $insertLogSQL -> execute(array(':pseudo' => $username, ':codes' => $code, ':offre' => $offre));



NB : Dans VALUES tu mettait ton premier champ à NULL .. je suppose que c'est celui correspondant à ton ID auto-incrémenté...
Donc.. PAS BESOIN de le mettre.. ta BDD s'en occupe toute seule comme une grande.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Mister-LVL0
23 déc. 2014 à 12:32
Quel genre de balise ?

Tu as été voir le lien que je t'ai donné ???

Quand tu postes du code.. toi ça donne ça :

$insertLogSQL = $odb -> prepare("INSERT INTO `starpass` VALUES(NULL, :pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())");
$insertLogSQL -> execute(array(':pseudo' => $_SESSION['username'], ':codes' => $_POST['codes'], ':offre' => $offre));

En utilisant la coloration syntaxique ( les balises de code... voir mon message précédent et le lien qu'il contient...) ça donne:

  $insertLogSQL = $odb -> prepare("INSERT INTO `starpass` VALUES(NULL, :pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())");
  $insertLogSQL -> execute(array(':pseudo' => $_SESSION['username'], ':codes' => $_POST['codes'], ':offre' => $offre));
0
Oui j'ai vue le lien j'ai ajouter une balise m'anquante mes sela ne fonctionne toujour pas
0
Oui je suis aller voir sur le lien mes le probleme j'ai mit une balise echo qui m'anquer le code a etait beaucoup mieux mes sa ne marche toujour pas


 <?php 
if(isset($_POST['ok'])) {
  $codes = ($_POST['offre']); { 
    ?>
 <div class="alert alert-danger">
 <strong>Erreur:</strong> Vérifier les codes! ( <a href="starpass.php">Retour</a> )
 </div>
 <?php
    die; }
 $offre = $_POST['offre'];

$insertLogSQL = $odb -> prepare("INSERT INTO `starpass` VALUES(NULL, :pseudo, :codes, :offre, '0', UNIX_TIMESTAMP())");
  $insertLogSQL -> execute(array(':pseudo' => $_SESSION['username'], ':codes' => $_POST['codes'], ':offre' => $offre));

?>

<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button>
 Bravo, votre demande a l'abonnement <?php echo htmlentities($offre); ?> est actuellement en attente ! Elle sera activée sous 12 heures
 </div>

  <?php
}
?>        
  <div class="row">
 <div class="col-sm-6">
  <div class="panel panel-primary" id="charts_env">
  
   <div class="panel-heading">
    <div class="panel-title"><i class="entypo-phone"></i> Achat par appels</div>
                
                         <div class="panel-options">
     <a href="#" data-rel="collapse"><i class="entypo-down-open"></i></a>
    </div>
   </div>

   <div class="panel-body">
 
<form action='' method='post'>
  <input type="text" class="form-control" placeholder="<?php echo $_SESSION['username']; ?>" disabled><br><br>

 <input type="text" class="form-control" name="codes" placeholder="Exemple : 0y45sd7d456456456hkhgkghk ">


<br><br>

          <button  class="btn btn-info btn-icon icon-left" name="ok" type="submit"><i class="entypo-check"></i> Valider mes codes</button>

</form>
</div>
</div></div>
                        
     <section>
  <table class="table grid table-striped table-bordered table-condensed">
<thead>
<tr>
<th>Pseudo</th>
<th>Codes</th>
<th>Offre</th>
<th>Date & Heure</th>
<th>Etat de la demande</th>
</tr>
</thead>
<tbody>
<?php
$SQLGetLogs = $odb -> query("SELECT * FROM `starpass` WHERE `pseudo` = '".$_SESSION['username']."' ORDER BY `id` DESC ");
{
$user = $getInfo['pseudo'];
$IP = $getInfo['codes'];
$IP2 = $getInfo['offre'];
$IP3 = $getInfo['date'];
$id = $getInfo['id'];

 if($getInfo['fait'] == "1") { $etat = '<span class="label label-success">Accepté.</span>'; }
     if($getInfo['fait'] == "0") { $etat = '<span class="label label-info">En attente.</span>'; }
     if($getInfo['fait'] == "2") { $etat = '<span class="label label-danger">Refusé.</span>.'; }
     if($getInfo['fait'] == "3") { $etat = '<span class="label label-warning">Code(s) manquant.</span>'; }
     $date = date("d/m/Y" ,$getInfo['date']);

echo '<tr class="odd gradeX"><td>'.$user.'</td><td>'.$IP.'</td><td>'.$IP2.'<br></td><td>'.$date.'<br></td><td>'.$etat.'<br></td></tr>';
}

?> </tbody></table>
</section>
    </fieldset>
                      <footer>




                  </footer>
  </div>
            </div>
 </div>

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 déc. 2014 à 14:38
Au passage ... c'est quoi ce
   die; 
que tu as mis ligne 9 ???
Forcément.. ton code ne va pas plus loin...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 déc. 2014 à 15:05
1 -
Et on en revient toujours à ma question 2 de la discussion https://forums.commentcamarche.net/forum/affich-31248657-script-php#4 ....
Une erreur... LAQUELLE ???


Ca ne marche pas... ne nous éclaire pas vraiment sur le souci rencontré !
Donc :
Peux tu...(si tu veux de l'aide) faire un minimum d'efforts pour nous indiquer :
- Si tu as un message d'erreur.... dis nous lequel exactement !
- Si c'est "juste" un souci de fonctionnement.. dis nous ce que ça fait... et ce que tu VOUDRAIS que ça fasse...


2 - Dans le code que tu as re-posté ... je ne vois pas les modifs que je t'ai proposé ?? pourquoi ??
Comment puis-je savoir si tu les as essayé ???????


NB : Je ne vais pas passer ma journée à te poser 50 fois les mêmes questions...
donc.. si tu veux de l'aide ... applique toi !
0
Dzeusdu07 Messages postés 17 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 7 février 2015
23 déc. 2014 à 15:42
j'ai mis votre code mes selui ci n'envoie rien sur ma base de donnée n'y sur le panel d'administration
0