Not Found Error 404

Bonjour,

Voilà j'ai un formulaire d'inscription à une newsletter seulement quand je valide j'ai ce message d'erreur

Not Found

The requested URL /site_retravaille/newsletter.php&etat=Vm91cyAmZWNpcmM7dGVzIGQmZWFjdXRlO2phIGluc2NyaXQgIQ== was not found on this server.

Quelqu'un peut-il m'aider ?

Merci d'avance.
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Si ta page newsletter.php existe bien dans le bon dosseri, essaye de passer tes variables en POST.

    0
    1. ben le problème c'est que c'est déjà en post

      --->> <form method="post" action="newsletter_2.php" style="margin: 0px;">
      0
    2. @loute08Qu'est-ce que ta variable etat alors ?

      0
  2. Une partie du contenu de mon newsletter.php

    <table border="0">

    <tbody>

    <tr>

    <?php echo "<td align='center'>";
    if(isset($_GET['etat']))
    {echo base64_decode($_GET['etat']);}
    else
    {echo "Pour vous inscrire à notre newsletter,<br> remplissez ce formulaire<br><br>";}
    echo "</td></tr>"; ?>
    </tr>

    <tr>

    <td align="center"><input name="email" size="30" maxlength="50" value="Adresse e-mail" onFocus="javascript:if(this.value == 'Adresse e-mail') this.value='';" onBlur="javascript:if(this.value == '') this.value='Adresse e-mail';" type="text"></td>

    </tr>

    <tr>

    <td align="center">
    <input name="action" value="add" checked="checked" type="radio">Inscription <input name="action" value="delete" type="radio">
    Désinscription</td>

    </tr>

    <tr>

    <td align="center"><input value="Valider" type="submit"></td>

    </tr>

    </tbody>
    </table>

    Le contenu de mon newsletter_2.php

    <?php
    mysql_connect("localhost", "root", ""); //On remplace les information par la vraie bdd
    mysql_select_db("contact_site");

    $mail=$_POST['email'];

    function valid_email($email) {
    // First, we check that there's one @ symbol, and that the lengths are right
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
    if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
    return false;
    }
    }
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
    return false; // Not enough parts to domain
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
    return false;
    }
    }
    }
    return true;
    }

    if (!valid_email($mail))
    {
    $message="E-mail invalide";
    $message=base64_encode($message);
    }
    else if ($_POST['action']=='add')
    {
    $compter = mysql_query("SELECT * FROM newsletter WHERE email='".$mail."'");
    $doublons = mysql_num_rows($compter);
    if($doublons == "0")
    {
    $sql="INSERT INTO newsletter VALUES('".$mail."')";
    $req=mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $message="Vous allez désormais recevoir notre Newsletter à l'adresse :".$mail;
    $message=base64_encode($message);
    }
    else
    {
    $message="Vous êtes déja inscrit !";
    $message=base64_encode($message);
    }
    }
    else if ($_POST['action']=='delete')
    {
    $compter = mysql_query("SELECT * FROM newsletter WHERE email='".$mail."'");
    $doublons = mysql_num_rows($compter);
    if($doublons == "1")
    {
    mysql_query("DELETE FROM newsletter WHERE email='".$email."'");
    $message="Votre désinscription a bien été prise en compte";
    $message=base64_encode($message);
    }
    else
    {
    $message="Vous n'êtes pas inscrit !";
    $message=base64_encode($message);
    }
    }

    header("location: newsletter.php&etat=".$message);
    ?>

    Je dois t'avouer que je suis très nulle en php...
    0
    1. Et moi je dois t'avouer que je suis au bureau, donc que je n'ai pas le temps de lire tout ton code...

      Mais je ne comprends pas à quoi sert ceci :
      $message="Vous n'êtes pas inscrit !";
      $message=base64_encode($message);
      }
      }
      
      header("location: newsletter.php&etat=".$message); 
      0
      1. Je dois t'avouer qu'il y a plusieurs personnes qui ont voulu m'aider... en fait pour résumer, le newsletter_2.php ne contient que le code php qui traite l'insertion dans la BDD, avec vérification des champs etc...

        Le header location... devait indiquer dans ma page newsletter.php (celle où il y a mon formulaire d'inscription) si le visiteur avait bien été inscrit, si il l'était déjà....
        0
      2. @loute08En codant "Vous n'êtes pas inscrit !" ?

        0
      3. @zzzerOui après les vérifications dans la BDD...
        0
      4. @loute08Mais pourquoi le coder ?
        Et pourquoi ne pas le passer en POST comme le reste ?

        0
    2. Je n'en ai aucune idée...
      0