Problème insertion bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème insertion bdd

Re: Problème insertion bdd

par Elie » 18 juil. 2014, 08:50

Now() est réservé à MYSQL la tu la passe en PHP. Je sais pas si faut remplacer par time() ou par date('Y-m-d')

Re: Problème insertion bdd

par cindy381 » 17 juil. 2014, 23:27

C'est bon j'ai réussi à enregistrer en bdd les img

j'ai plus que ma variable created qui foire
$req = $bdd->prepare('INSERT INTO orders (titre,phone,created,,photo,street,postcode,city) VALUES (:titre,:phone,NOW(),photo,:street,:postcode,:city)');
    $req->execute(array(
	  'titre'=>$titre,
	  'phone'=>$phone,
	  'created'=>NOW(),
	  'photo'=>$photo_image,
	  'street'=>$street,
	  'postcode'=>$postcode,
	  'city'=>$city
    ));

Re: Problème insertion bdd

par cindy381 » 17 juil. 2014, 21:35

Merci pour le conseil Elie,
Damien-55 regarde bien, qui a corrigé le problème finalement toi ? nan c'est moi toute seule.
C'est sur que je fait des conneries mais il me semble que c'est écrit PHP débutant dans le chanel,
ce que je trouve triste par contre c'est que tu prend du temps pour poster ce genre de message sur ce bonne route quand même.

Elie, je reviens vers toi en cas.
Je vais tacher de trouver le problème

Re: Problème insertion bdd

par Elie » 17 juil. 2014, 21:00

Fait un print_r($_FILES); voir l'image est bien uploadé.
Met des petits echo un peu partout pour debugguer...

Essaye deja par toi meme et sinon ouvre un nouveau sujet :)

Re: Problème insertion bdd

par damien_55 » 17 juil. 2014, 20:46

Bonjour,

Je suis plus qu' inquiet Elie. ça fait 1 semaine qu'il ou elle galère sur ce paiement. La semaine dernière c'était paypal maintenant c'en est un autre et les post sont modifiés d'heure en heure. c'est trés diffile a suivre.

De plus, ça fait une semaine que je lui explique avec le même script contre vent et marée que:
form action="buy.php" method="POST" id="payment-form">
Les variables postés sont récupérables seulement sur la page buy.php
form action="" method="POST" id="payment-form">
Les variables postés sont récupérables sur la page en cours.

Mais ça ne rentre pas...

Je ne comprend pas comment on peut faire PDO, mysql, et système de paiement sans même savoir faire un formulaire simple html et récupérer les données ???? ça, ça me scie =D>

Mis a part copier coller des scripts trouvé à droite et à gauche et espérer que ça marche sinon... le plus stupéfiant dans cette démarche c'est le refus catégorique d'apprendre (je prends et je colle basta ).

Re: Problème insertion bdd

par cindy381 » 17 juil. 2014, 20:42

Salut Elie,
Oui j'ai pas mal galère avec paypal surtout, j'ai basculé vers Stripe.
C'est bon mon formulaire marche maintenant,
J'ai bien mon insert en BDD ainsi que le paiement d'effectué.
Cependant :) .

Je souhaite rajouté 2 variable mais ces 2 dernières ne s'insère pas en BDD ( input photo et $_SESSION user_id )
Merci encore à tous ceux qui sont la pour m'aider.

La requete complete
<?php
 $req = $bdd->prepare('INSERT INTO orders (user_id,titre,phone,street,postcode,city) VALUES (:user_id,:titre,:photo,:phone,:street,:postcode,:city)');
    $req->execute(array(
	  'user_id'=>$user_id,
	  'titre'=>$titre,
	  'photo'=>$photo,
	  'phone'=>$phone,
	  'street'=>$street,
	  'postcode'=>$postcode,
	  'city'=>$city
    ));
?>
Les 2 champs qui pose problème
<form action="buy.php" method="POST" enctype="multipart/form-data" id="payment-form">
<!--reste du code -->
<input type="file" name="avatar" />
<input name="membre" type="text" value="<?php echo $_SESSION['user']['id'] ?>" />
Le traitement pour la photo
<?php
if(!empty($_FILES))
{
	$avatar = $_FILES['avatar'];
	$avatar_name = $avatar['name'];
	$ext = strtolower(substr(strrchr($avatar_name,'.'),1));
	$ext_aut = array('jpg','jpeg','png','gif');
	
	function check_extension($ext,$ext_aut)
	{
		if(in_array($ext,$ext_aut))
		{
			return true;
		}
	}
	
	$valid = (!check_extension($ext,$ext_aut)) ? false : true;
	$erreur = (!check_extension($ext,$ext_aut)) ? 'Veuillez charger une image' : '';
	
	if($valid)
	{
		$max_size = 2000000;
		if($avatar['size']>$max_size)
		{
			$valid = false;
			$erreur = 'Fichier trop gros';
		}
	}
	
	if($valid)
	{
		if($avatar['error']>0)
		{
			$valid = false;
			$erreur = 'Erreur lors du transfert';
		}
	}
	
	if($valid)
	{
		$path_to_image = 'images/fullsize/';
		$path_to_min = 'images/min/';
		
		$filename = sha1(uniqid($avatar_name));
		
		$source = $avatar['tmp_name'];
		$target = $path_to_image . $filename. '.'. $ext;
		
		move_uploaded_file($source,$target);
		
		if($ext == 'jpg' || $ext == 'jpeg') {$im = imagecreatefromjpeg($path_to_image.$filename.'.'.$ext);}
		if($ext == 'png') {$im = imagecreatefrompng($path_to_image.$filename.'.'.$ext);}
		if($ext == 'gif') { $im = imagecreatefromgif($path_to_image.$filename.'.'.$ext);}
		
		$ox = imagesx($im);
		$oy = imagesy($im);
		
		$nx = 150;
		$ny = floor($oy *($nx/$ox));
		
		$nm = imagecreatetruecolor($nx,$ny);
		
		imagecopyresized($nm, $im, 0,0,0,0, $nx,$ny,$ox,$oy);
		
		imagejpeg($nm, $path_to_min.$filename.'.'.$ext);
		
		$nom_image = $filename.'.'.$ext;
		
		$req = $bdd->prepare('INSERT INTO upload(nom) VALUES(:nom)');
		$req->execute(array('nom'=>$nom_image));
		$req->closeCursor();
		
		$success = 'Upload ok';
	}
}

?>

Re: Problème insertion bdd

par Elie » 17 juil. 2014, 18:26

La page s'appelle buy.php ? Sinon le probleme vient de la déjà ...

<
form action="buy.php" method="POST" id="payment-form">
Déjà j'ai l'erreur : Notice: Undefined index: titre in C:\Program Files\wamp\www\test.php on line 48

Donc pour moi il lui manque une variable dans la requete donc il la prend pas en compte...

Ca fait un moment que tu galeres avec ton paiement... Je commence a m'inquieter

Problème insertion bdd

par cindy381 » 17 juil. 2014, 16:12

Salut à tous
Petit soucis, je n'ai aucune insertion en bdd comment ça se fait svp, merci pour votre aide
<?php
session_start();
if(!empty($_SESSION['membre']))
{
  header('Location: index.php');
}

if(!empty($_POST))
{
  extract($_POST);
  $valid = true;
  
  if(empty($city))
  {
    $valid = false;
    $erreurcity = 'Indiquez une ville';
  }
    
  if(empty($street))
  {
    $valid = false;
    $erreurstreet = 'Indiquez un nom de rue';
  }
  
   if(empty($postcode))
  {
    $valid = false;
    $erreurpostcode = 'Indiquez un code postal';
  }
  
  if(empty($phone))
  {
    $valid = false;
    $erreurphone = 'Indiquez un téléphone';
  }
  
  try{
  $bdd = new PDO('mysql:host=***********;dbname=***********','********','*****') or die(print_r($bdd->errorInfo()));
  $bdd->exec('SET NAMES utf8');
  }
  
  catch(Exeption $e){
  die('Erreur:'.$e->getMessage());
  }
  
    
$req = $bdd->prepare('INSERT INTO `orders` (`user_id`,`created`, `titre`, `phone`, `street`, `postcode`, `city`)

VALUES ( :user_id, NOW(), :titre, :phone, :street, :postcode, :city)');

$req->execute(array(
'user_id' => $_POST['membre'],
'titre'=>$_POST['titre'],
'phone'=>$_POST['phone'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city']
));
    
}

?>


 
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Stripe Getting Started Form</title>

</head>
<body>

<form action="buy.php" method="POST" id="payment-form">




      <!-- Ville de la sortie -->
      <label>Ville *</label>
      <input class="form-control" type="text" name="city" value="<?php if(isset($_POST['city'])) echo $_POST['city'];?>" />
      <div class="error"><?php if(isset($erreurscity['city'])) echo $erreurscity['city'];?></div>

	  <!-- Ville de la sortie -->
      <label>Rue</label>
      <input class="form-control" type="text" name="street" value="<?php if(isset($_POST['street'])) echo $_POST['street'];?>" />
      <div class="error"><?php if(isset($erreursstreet['street'])) echo $erreursstreet['street'];?></div>
     
      <!-- Code postal de la sortie -->
      <label>Code postal *</label>
      <input class="form-control" type="text" name="postcode" value="<?php if(isset($_POST['postcode'])) echo $_POST['postcode'];?>" />
      <div class="error"><?php if(isset($erreurspostcode['postcode'])) echo $erreurspostcode['postcode'];?></div>
      
      <label>Télephone</label>
      <input class="form-control" type="text" name="phone" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" />
      <div class="error"><?php if(isset($erreursphone['phone'])) echo $erreursphone['phone'];?></div>
       
      <input name="membre" type="text" value="<?php echo $_SESSION['user']['id'] ?>" />


<button type="submit" class="submit-button">Submit Payment</button>

</form>

J'ai essayé ça mais le résultat est le même rien en bdd:
?php
$req = $bdd->prepare('INSERT INTO orders (user_id,titre,phone,street,postcode,city) VALUES ( :user_id, :titre, :phone, :street, :postcode, :city)');
    $req->execute(array(
      'user_id'=>$user_id,
	  'titre'=>$titre,
	  'phone'=>$phone,
	  'street'=>$street,
	  'postcode'=>$postcode,
	  'city'=>$city
    ));
	
	}

?>