Question

J'ai le problème suivant :J'ai un formulaire d'inscription.Le message de réponse sera affiché par une fonction javascript (colorbox) qui sera appelée via une variable php.

On dirait:

<?php if ($result):?>
  <script type="text/javascript">no need to post, it is working fine</script>
<?php endif; ?>

Cette variable ne fonctionne pas comme elle devrait le faire.Si je règle :

<?php if **(isset($_POST['submitted']))**: ?>
  <script type="text/javascript"> no need to post it is working</script>
<?php endif; ?>

ça fonctionne bien.

Le problème est que quand je vais soumettre le formulaire.La box démarre même si le formulaire d’inscription n’est pas correctement rempli.Pour éviter ce problème, j'ai pensé que je devais trouver une variable qui ressemble à un booléen vrai ou faux, si ce formulaire est rempli correctement, quelle réponse vient de mon serveur.Mes pensées étaient du genre :

$sql = mysql_query("INSERT INTO tabelle (x1, x2...) VALUES('$x1','$x2')") 
       or die (mysql_error()); 

if ($result = mysql_affected_rows() = 2) {
  return TRUE;
} 

$result = mysql_affected_rows(); 
$result = mysql_query($sql);

De cette façon j'aurais changé la variable $result dans une clause qui devrait fonctionner.Ce n'est pas le cas.:(

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

Dans ton code

$sql = mysql_query("INSERT INTO tabelle (x1, x2...) VALUES('$x1','$x2')") 
       or die (mysql_error()); 

if ($result = mysql_affected_rows() = 2) {
  return TRUE;
} 

$result = mysql_affected_rows(); 
$result = mysql_query($sql);

pourquoi retournes-tu VRAI ?Si cela est fait, cela n'atteindra pas les lignes qui suivent.

Vous utilisez également $sql dans mysql_query($sql) qui est déjà une ressource de résultat MySQL.

Si vous voulez montrer cela en cas de succès de la requête

<?php
  ..
   $sql = mysql_query("INSERT INTO tabelle (x1, x2...) VALUES('$x1','$x2')") 
       or die (mysql_error()); 

if (mysql_affected_rows() == 2){ ?>
  <script type="text/javascript">no need to post, it is working fine</script>

<?php } ?>

Autres conseils

Vous avez beaucoup de tort avec ce code.

Fais-le comme ça:

<?PHP
$success = false;
$result = mysql_query("INSERT INTO tabelle (x1, x2...) VALUES('$x1','$x2')") or die (mysql_error()); 
if ($affected = mysql_affected_rows() == 2) { $success = true; }
?>
<?PHP if ($success){ ?>
<script type="text/javascript">no need to post, it is working fine</script>
<?PHP } ?>

Désolé si cela ne fonctionne pas complètement, vous m'avez en quelque sorte confondu avec la partie isset($_POST['subowned']) et votre question n'était pas tout à fait claire.

juste pour montrer le code entier.toutes les requêtes suivantes fonctionnent.

    <?php

$errorMsg = "";
$x1 = "";
$x2 = "";
$x3 = "";
$x4 = "";
$email = "";
$password = "";
$x7= "";

if (isset ($_POST['x1'])){

     $x1 = $_POST['x1'];
     $x2 = $_POST['x2'];
     $x3 = $_POST['x3'];
     $x4 = $_POST['x4'];
     $email = $_POST['email'];
     $password = $_POST['password'];
     $x7= $_POST['x7'];

         $x1 = stripslashes($x1);
     $x2 = stripslashes($x2);
         $x3 = stripslashes($x3);
     $x4 = stripslashes($x4);
     $email = stripslashes($email);
     $password = stripslashes($password);
     $x7= stripslashes($x7);

         $x1 = strip_tags($x1);
     $x2 = strip_tags($x2);
     $x3 = strip_tags($x3);
     $x4 = strip_tags($x4);
     $email = strip_tags($email);
     $password = strip_tags($password);
     $x7= strip_tags($x7);

     include_once "scripts/connect_to_mysql.php";
     $emailCHecker = mysql_real_escape_string($email);
     $emailCHecker = eregi_replace("`", "", $emailCHecker); 

     $sql_email_check = mysql_query("SELECT email FROM tablename WHERE email='$emailCHecker'"); 

     $email_check = mysql_num_rows($sql_email_check); 

     if ((!$x1) || (!$x2) || (!$x3) || (!$x4) || (!$email) || (!$password) || (!$x7)) { 

     $errorMsg = 'following issues are missing<br />';

    if(!$x1){ 
       $errorMsg .= ' *x1<br />'; 
     } 
     if(!$x2){ 
       $errorMsg .= ' *x2<br />';
     } 
     if(!$x3){ 
       $errorMsg .= ' *x3<br />';
     } 
     if(!$x4){ 
       $errorMsg .= ' *x4<br />'; 
     } 
     if(!$email){ 
       $errorMsg .= ' *email<br />'; 
     }
     if(!$x7){ 
       $errorMsg .= ' *x7<br />'; 
     }  

     } else if ($email_check > 0){ 
       $errorMsg = "Mail already exists"; 

     } else 

     { 

     $x1 = mysql_real_escape_string($x1);
     $x2 = mysql_real_escape_string($x2);
     $x3 = mysql_real_escape_string($x3);
         $x4 = mysql_real_escape_string($x4);
     $email = mysql_real_escape_string($email);
     $password = mysql_real_escape_string($password);

     $x1 = eregi_replace("`", "", $x1);
     $x2 = eregi_replace("`", "", $x2);
     $x3 = eregi_replace("`", "", $x3);
     $x4 = eregi_replace("`", "", $x4);
     $email = eregi_replace("`", "", $email);

     $db_password = md5($password); 

     $sql = mysql_query("INSERT INTO tablename (x1, x2, x3, x4, sign_up_date, email, password)    

     VALUES('$x1','$x2','$x3','$x4', now(), '$email','$db_password')")  

     or die (mysql_error()); 

     $id = mysql_insert_id();

     /*mkdir("members/$id", 0755); */

    $to = "$email"; 

    $from = "xxx@xxx.xx";       
    $subject = "activationlink";        

    $message = "Link for activation";

    $headers  = "From: $from\r\n";
    $headers .= "Content-type: text\r\n";

    mail($to, $subject, $message, $headers);

   $msgToUser = "text";


   /*include_once 'msgToUser.php';  */



   exit();

   } 

} else { 

      $errorMsg = "Errormessages";
          $x1 = "";
      $x2 = "";
      $x3 = "";
      $x4 = "";
      $email = "";
      $password = "";
      $x7 = "";


}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>XXXX</title>

        <link rel="stylesheet" href="css/colorbox.css" />
        <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 
        <script type="text/javascript" src="js/jquery.colorbox.js"></script>   

<?php if **a variable or clause will be true: ?>
        <script type="text/javascript">
        $(document).ready(function(){
        $.colorbox({iframe:true, scrolling:false, href:"#$msgToUser.php", innerWidth:"408px", innerHeight:"292px", opacity:0.75, overlayClose:false, escKey:false, });
        });
        $("#colorboxCloseBtn").click(function() {
        $.colorbox.close();
        });
        $(document).ready(function() {
        /* Automatically resize to content 
        var y = $(document.body).height();
        var x = $(document).width();
        parent.$.colorbox.resize({innerWidth:x, innerHeight:y});*/

        $("#button_cancel").click(function() {
        parent.$.colorbox.close();
        return false;
        })
        });
        </script> 
 <?php endif; ?> 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top