Probleme Formulaire

miake92 Messages postés 2 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 8 février 2008 - 12 janv. 2008 à 13:34
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 - 15 janv. 2008 à 05:51
Bonjour tous le monde, j'ai créer un site (www.ratemysite.fr) et depuis que j'ai touché le fichier templates d'une page mon formulaire ne marche plus ... J'ai essayé chercher l'erreur mais je ne vois vraiment pas d'où elle vient.

Je vous explique, lorsque l'on ajouter un site à ma base de donnée, tout a l'air de bien fonctionner sauf que le formulaire ne fait pas son travail et donc aucune information est ajouté à ma base de donnée. Pourtant il n'y a aucun message d'erreur. Je ne comprend plus rien :(

Voici la page de traitement

<?
require_once("conn.php");
require_once("access.php");

if(isset($_POST[s1]))
{
    $NewDomain = $_POST[domain].".".$_POST[ext];

    $NewDomain = strtolower($NewDomain);

    $q1 = "insert into domain_domains set
                    memberid = '$_SESSION[MemberID]',
                    categoryid = '$_POST[CategoryID]',
                    domainname = '$NewDomain',
                    DomainDesc = '$_POST[DomainDescription]',    
                    offers = '$_POST[offers]' ";

    mysql_query($q1) or die(mysql_error());
    
    header("location:ManageDomains.php");
    exit();
}

require_once("templates/header.php");

//get the categories
$q2 = "select * from domain_categories order by categoryname";
$r2 = mysql_query($q2) or die(mysql_error());

$SelectCategory = "<select name="CategoryID" class="InputField">\n\t";
$SelectCategory .= "<option value=""></option>\n\t";

while($a2 = mysql_fetch_array($r2))
{
    $SelectCategory .= "<option value="$a2[categoryid]">$a2[categoryname]</option>\n\t";
}

$SelectCategory .= "</select>";

$DomainExtentions = "<select name="ext" class="InputField">\n";

$qe = "select * from domain_ext order by ExtText";
$re = mysql_query($qe) or die(mysql_error());

while($ae = mysql_fetch_array($re))
{
    $DomainExtentions .= "<option value="$ae[ExtText]">$ae[ExtText]</option>\n\t";    
}

$DomainExtentions .= "<option selected="selected">.fr</option></select>";

require_once("templates/PostDomainTemplate.php");
require_once("templates/footer.php");
?>

Et la page de template

<script>
function CheckDomain()
{
    if(document.f4.domain.value == "")
    {
        alert('Enter your domain name, please!');
        document.f4.domain.focus();
        return false;
    }

    if(document.f4.ext.value=="")
    {
        alert('Enter your domain name extention, please!');
        document.f4.ext.focus();
        return false;
    }

    if(document.f4.CategoryID.value=="")
    {
        alert('Select a category for your domain name, please!');
        document.f4.CategoryID.focus();
        return false;
    }

    if(document.f4.DomainDescription.value=="")
    {
        alert('Describe your domain in a few words, please!');
        document.f4.DomainDescription.focus();
        return false;
    }

}
function montre1()
{
    if(document.getElementById)
    {
        document.getElementById("calque1").style.visibility = 'visible';
    }
    else if(document.all)
    {
        document.all["calque1"].style.visibility = 'visible';
    }
}
function montre2()
{
    if(document.getElementById)
    {
        document.getElementById("calque2").style.visibility = 'visible';
    }
    else if(document.all)
    {
        document.all["calque2"].style.visibility = 'visible';
    }
}
function cache1()
{
    if(document.getElementById)
    {
        document.getElementById("calque1").style.visibility = 'hidden';
    }
    else if(document.all)
    {
        document.all["calque1"].style.visibility = 'hidden';
    }
}
function cache2()
{
    if(document.getElementById)
    {
        document.getElementById("calque2").style.visibility = 'hidden';
    }
    else if(document.all)
    {
        document.all["calque2"].style.visibility = 'hidden';
    }
}
</script>
<style type="text/css">
<!--
.Style2 {
    color: #009900;
    font-weight: bold;
}
.Style3 {color: #FF0000}
-->
</style>

Vendre un site internet

Vous &ecirc;tes sur le point de vendre un site internet. Veillez &agrave; ce que tous les champs soient bien remplis pour une annonce parfaite.

Dans la description de votre site, &eacute;ssayez de noter le plus de d&eacute;tails possible.

<form method ="post" name="f4" onsubmit="return CheckDomain();" action="PostDomain.php">
    ,
    .<?=$DomainExtentions?>,

----

    ,
    <?=$SelectCategory?>,

----

    ,
    <textarea name="DomainDescription" class="InputField" rows="4" cols="42"></textarea>,

----

    &nbsp;,
            Oui, re&ccedil;evoir les offres par e-mail
        Non, ne pas re&ccedil;evoir les offres par e-mail,

----

    &nbsp;,
    

</form>

2 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
14 janv. 2008 à 11:44
salut

je ne suis pas sur mais

if(isset($_POST['s1'])) 

ce sont peut etre les quotes qui manquent...
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
15 janv. 2008 à 05:51
Salut,

Déja utilise une syntaxe correcte pour tes $_POST avec le nom de la clé entre quote.

Citation de php.net sur les clé sans crochet:
C'est mauvais, mais ça marche. Pourquoi est-ce mauvais ? La raison est que PHP attend une constante entre crochets (bar) plutôt qu'une chaîne ('bar', notez les guillemets). Or, PHP pourrait définir dans le futur des constantes qui, malheureusement pour votre code, auront ce nom. En fait, cela fonctionne car la constante indéfinie est transformée en chaîne ayant la même valeur.
À l'avenir, le groupe PHP peut décider d'ajouter une constante ou un autre mot clé, ou bien vous souhaiterez aussi ajouter une constante dans votre application et vous serez bloqué. Par exemple, vous ne pouvez pas utiliser des mots comme empty et default de cette manière, car ils sont déjà réservés.

Source: http://ca.php.net/manual/fr/language.types.array.php

Ensuite ta syntaxe SQL, j'avais jamais vu insert into combiné avec SET. Peut être est-ce que ça se fait, mais moi j'ai toujours vu avec VALUES.
Dans le doute j'ai cherché un peu sur google, et apparament c'est compatible mysql mais ce n'est pas dans la norme SQL/92, d'où mon ignorance je suppose... Décidement MySql accèpte nimporte quoi.. lol

Dernièrement les short_tags c'est vilain  <? ?> = <?php ?>

Mais sinon je t'apporte pas grand chose, je ne vois pas non plus pourquoi ça ne fonctionne pas  Désolé.
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
Rejoignez-nous