Aide pour script php
Bonjour, j'aurais besoin d'aide pour changer mon script mysql à msqli..

J'ai essayer de faire ça tout seule, mais je n'arrive toujours pas, donc j'aurais besoin de votre aide.

Code PHP :
<?php

    $cnxs 
$GLOBALS['cnxs'];
    
$user $_SESSION['login'];
    if(isset(
$_SESSION['login']))
    {
        
//So here we get the variable submitted through the form to this page
        
$reciever htmlspecialchars($_POST['username'], ENT_QUOTES); // Strip out special html characters including single and double quote
        
$reciever mysql_real_escape_string($reciever); //Escape any characters that could be used in an sql injection attack
        
        
$subject htmlspecialchars($_POST['subject'], ENT_QUOTES);
        
$subject mysql_real_escape_string($subject);
        
        
$message htmlspecialchars($_POST['message'], ENT_QUOTES);
        
$message mysql_real_escape_string($message);
        
$error '0';
        
        
//If they are all blank we jsut say to compose a message
        
if(!$reciever AND !$subject AND !$message)
            {
            
?>
            <p><b>Please compose a message.</b></p>
            <br>
            <?php
            
}
        
        
//Since this form was partially filled out we need to return an error message
        
else
            {
            if (!
$reciever)
                {
                
$error 'You must enter a reciever to your message';
                }
            
            if (!
$subject)
                {
                
$error 'You must enter a subject';
                }
            
            if (!
$message)
                {
                
$error 'You must enter a message';
                }
            
            
//If the variable error is not set to zero, we have a problem and should show the error message
            
if($error != '0')
                {
                echo 
"<p>$error</p><br>";
                }
            
            
//There are no errors so far which means the form is completely filled out    
            
else
                {
                
//Are the trying to send a message to a real user or to something they just made up?
                
$user_check mysql_query("SELECT username FROM account WHERE username='$reciever'");
                
$user_check mysql_num_rows($user_check);
                
                
//The user is real and not made up if this is true
                
if($user_check '0')
                    {
                    
//There might already be a sessioned time variable, if so we need to get it for the flood check
                    
$time $_SESSION['time'];
                    
                    
//If there is a time variable already, set it to the varialbe $old_time
                    
if($time '0')
                        {
                        
$old_time $time;
                        }
                    
                    
//Here we get the minutes and seconds on the server time using the date function, and set that to the $time variable
                    //Now we find the difference between this time ($time) and the time that the page was submitted ($old_time)
                    
$time date('is');
                    
$difference $time $old_time;
                    
                    
$_SESSION['time'] = $time;
                    
                    
//If the two times have a difference greater or equal to 15, which is 15 seconds, they can submit the message, this is for flood protection
                    
if($difference >= '15')
                        {
                        
//Get their private message count
                        
$sql mysql_query ("SELECT pm_count FROM account WHERE username='$reciever'");
                        
$row mysql_fetch_array ($sql);
                        
$pm_count $row['pm_count'];
                        
                        
//You cant have more than 50 private messages, if they try sending a message to a user with a full inbox return an error message
                        
if($pm_count == '50')
                            {
                            
$error 'The user you are trying to send a message to has 50 private messages, sorry but we cant send your message untill that user deletes some of their messages.';
                            }
                            
                        else
                            {    
                            
//And not we stick the message in the database with all the correct information
                            
mysql_query strtolower("INSERT INTO messages (reciever, sender, subject, message) VALUES('$reciever', '$user', '$subject', '$message')")) or die (mysql_error());
                            
//Add 1 to the pm count, update the reciever with the new pm count
                            
$pm_count++;
                            
mysql_query("UPDATE account SET pm_count='$pm_count' WHERE username='$reciever'");
                            }
                            
                        
//Let the user know everything went ok.
                        
echo "<p><b>You have successfully sent a private message!</b></p><br>";
                        }
                    
                    
//Since they are trying to send messages faster than every 15 seconds, give them an error message    
                    
else
                        {
                        
$error 'You must wait 15 seconds before sending another private message';
                        }
                    }
                
                
//If they mis spelled or, made up a username, then give an error message telling them its wrong.
                
else
                    {
                    
$error 'That username does not exist, please try again. Remember to check your spelling, and dont make stuff up at random.';
                    }                    
                }
            }
            
        
//Since we may have set the error variable to something while trying to send the messae, we need another error check
        
if($error != '0')
            {
            echo 
"<p>$error</p><br>";
            }
            
        else
            {
            
//Here's the form for the input
            
?>
            <form name="send" method="post" action="">
            <table width="80%">
              <tr>
                <td width="150px" align="left" valign="top"><p>Nom d'utilisateur</p></td>
                <td width="" align="left" valign="top"><input name="username" type="text" id="username" value="<?php echo "$reciever"?>"></td>
              </tr>
              
              <tr>
                <td width="150px" align="left" valign="top"><p>Sujet</p></td>
                <td width="" align="left" valign="top"><input name="subject" type="text" id="subject" value="<?php echo "$subject"?>"></td>
              </tr>
              
              <tr>
                <td width="150px" align="left" valign="top"><p>Vôtre Message</p></td>
                <td width="" align="left" valign="top"><textarea name="message" type="text" id="message" value="" cols="50" rows="10"></textarea></td>
              </tr>
                  
              <tr>  
                <td></td>
                <td><input type="submit" name="Submit" value="Send Message"></td>
              </tr>
            </table>
            </center>
            </form>
 <?php
            
}
    }
    else
    {
?>

<meta http-equiv="refresh" content="1; url=index.php">
<p class="erreur">Erreur : Vous devez &ecirc;tre connect&eacute; pour avoir acc&egrave;s a cette page.</p>
<?php 
    
}
?>

Les Erreurs

( ! ) Notice: Undefined index: username in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 8
( ! ) Notice: Undefined index: subject in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 11
( ! ) Notice: Undefined index: message in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 14

Merci pour votre a!de !
(26-10-2011 21:26)sagopa019 a écrit :  mais je n'arrive toujours pas,

Donne les erreurs que tu as ? ... Smile
Les Erreurs

( ! ) Notice: Undefined index: username in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 8
( ! ) Notice: Undefined index: subject in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 11
( ! ) Notice: Undefined index: message in C:\UUwAmp\www\pages\messagerie\envoyer.php on line 14

Merci pour ton aide ! Smile

Retourner en haut Accueil