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

  • Votes
  • Date
  • Date décroissante
  1. Si ta page newsletter.php existe bien dans le bon dosseri, essaye de passer tes variables en POST.

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

      --->> <form method="post" action="newsletter_2.php" style="margin: 0px;">
  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...
    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); 
      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à....
      2. @zzzerOui après les vérifications dans la BDD...
      3. @loute08Mais pourquoi le coder ?
        Et pourquoi ne pas le passer en POST comme le reste ?