Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/02/2007, 19h06   #1
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Par défaut Script PHP avec formulaires

Bonsoir,

Alors je suis entrain de créer un script PHP avec un formulaire. Je sais pas si il est réalisable.

Alors l'optique de ce script c'est de rentrer son pseudo et de choisir un channel et ensuite une boite s'ouvre pour afficher le tchat appelé par un lien(avec variables de la form).

Voici le code que j'ai déjà tapé :

Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<FORM method="POST">
<p>Tapez votre pseudo :<br>
<input type="text" name="pseudo" size="20"></p>
<p>Choix du channel :<br>
<select name="channel" size="1">
<option selected value="0">- Choisir - </option>
<option>Diboo</option>
<option>Orihane</option>
<option>Zebulon</option>
<option>4</option>
<option>5</option>
</select></p>
 <input type="Submit" value="OK">
</form>
 
<?php
$pseudo=$_POST["pseudo"];
$channel=$_POST["channel"];
 
  if ($pseudo=="") {echo 'Il manque votre pseudo !';} else  if ($pseudo==1) {echo $pseudo;}
  if ($channel=="0") {echo 'Il manque le channel !';}
 ?>

déjà ça fonctionne presque, mais pas tout à fait :

1er If : si le pseudo=rien alors on affiche manque pseudo, là ça marche.
ensuite je voulais affiché le pseudo mais ça marche pas

2ème If :si channel=rien alors on affiche manque channel, je voudrais faire pareil que pour le 1er If.

Merci pour votre aide,

Diana
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2007, 19h29   #2
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
zut! j'ai corrigé mon code

Code :
1
2
if ($pseudo=="") {echo 'Il manque votre pseudo !';} else  {echo $pseudo;}
  if ($channel=="0") {echo 'Il manque le channel !';} else {echo $channel;}
voilà ça marche bien là. Bon passons à la suite, je sens que ça va être gaie !
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2007, 19h55   #3
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Arf! Je cherche la solution pour envoyer les variables sur un lien :
déjà ya que le pseudo qui devrait être envoyé, ex:

http://www.orihane.org/chat/chat.php?salon=accueil&$pseudo

ici logiquement ma variable pseudo devrait se coller à la suite du lien.

Le 2ème problème qui me parait plus difficile:

J'ai plusieurs lien vers différents tchats, ça se complique

J'aurais vraiement besoin d'aide là SVP!
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2007, 20h11   #4
Membre éprouvé
 
Homme
Inscription : mai 2006
Messages : 694
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : Belgique

Informations forums :
Inscription : mai 2006
Messages : 694
Points : 417
Points : 417
Bonsoir,

Pour que tu puisses récupérer les variables de ton formulaire tu dois déjà indiquer le script qui recevra les données (action du form), ça peut être le même script ou un autre. e plus, tu as choisi la méthode POST pour la transmission des données donc elles ne seront pas transmises dans l'url (genre ?pseudo=abcd&channel=xyz). Si tu veux les transmettre par l'url alors utilise plutôt la méthode get.

Donc la première ligne de ton formulaire devrait être
Code :
<form action='scriptreception.php' method='get'>
Tu récupères tes variables comme ceci :
Code :
1
2
$pseudo = $_GET["pseudo"];
$channel = $_GET["channel"];
Si tes données sont transmises en POST alors utilise $_POST au lieu de $_GET.

A ce moment là tu peux faire les tests sur les variables reçues.

Bonne soirée,

webrider
__________________
Pensez au tag
webrider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2007, 22h51   #5
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Bonsoir,

oui, je vais remplacer par get.
Mais je ne vois pas l'utilité de action='scriptreception.php'
surtout si je veux pas que le script soit dns un fichier a part !
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2007, 23h26   #6
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut l'ordinateur ne devine rien

La méthode action te permet d'indiquer à la machine (eh oui, un ordinateur est une machine malgré l'IA de plus en plus évoluée) quel script (le fichier php ou autre) va traiter le formulaire.

Donc si tu veux que ton formulaire soit traité dans le même fichier il faut que tu mettes:

Code :
<form method=POST action="#">
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 00h37   #7
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
ok, je me disais aussi.

Je suis en pleine réflection Sur l'utilité de mon script.
Certain tchat utilise PJirc, alors ya pas d'adresse mais un fichier de configuration:

fullname=Java User
host=irc.united-irc.com
gui=pixx
command1=/join #zebulon.fr

# Optional parameters :
language=french
quitmessage=Tournicoti Tournicoton
soundquery=snd/ding.au
userid=Java


Alors là, je sens que c pas possible

Merci pour votre aide, mais je crois que mon idée ne peut pas fonctionnée
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 09h00   #8
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut une idée fonctionne toujours

Tout ce qui existe, du couteau au satellite a d'abord été imaginé... Autrement, toute existence naît d'une idée.

Donc si tu as une idée, elle peut forcément fonctionner. Ce qui n'est (peut-être?) pas bon est la solution que tu as voulu adopter pour concrétiser cette idée. Tu dois définir exactement ce que tu veux que la machine fasse pour toi (et non ce que tu veux faire: pense comme un ordinateur, pas comme un humain) et adopte la solution la mieux adaptée pour qu'elle puisse le faire.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 10h12   #9
Membre régulier
 
Inscription : janvier 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 85
Points : 80
Points : 80
Citation:
Envoyé par Diabless6
Arf! Je cherche la solution pour envoyer les variables sur un lien :
déjà ya que le pseudo qui devrait être envoyé, ex:

http://www.orihane.org/chat/chat.php?salon=accueil&$pseudo

ici logiquement ma variable pseudo devrait se coller à la suite du lien.

Le 2ème problème qui me parait plus difficile:

J'ai plusieurs lien vers différents tchats, ça se complique

J'aurais vraiement besoin d'aide là SVP!
Salut,
soit j'ai rien compris, soit tu cherches juste à envoyer tes identifiants à un service de Tchat.
Si c'est bien ce que tu cherche à faire voici comment il faut proceder.

tu créé une page qui contient un formulaire ET le traitement du formulaire.
pour savoir si la page doit traiter le formulaire ou l'afficher on fait un ISSET(
sur les variables du formulaire.
(le isset permet de savoir si les variables existent. En clair, les variables existent si le formulaire a été rempli.)

premier cas, les variables existent,
alors il faut extraire les informations du formulaire et rediriger le navigateur vers le service de tchat en passant les informations par la methode GET.

deuxieme cas, elles n'existent pas,
alors il faut afficher le formulaire.

voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
    if (isset($_POST["pseudo"]) && isset($_POST["channel"])) {
        $pseudo=$_POST["pseudo"];
        $channel=$_POST["channel"];
        $url="http://www.orihane.org/chat/chat.php?salon=$channel&pseudo=$pseudo";
        header("Location: $url");
        break;
    } else {
        echo '<form name="chat" action="' . $_SERVER["PHP_SELF"] . '" method="post" enctype="multipart/form-data">';
        echo '<p>Tapez votre pseudo :<br>';
        echo '<input type="text" name="pseudo" size="20"></p>';
        echo '<p>Choix du channel :<br>';
        echo '<select name="channel" size="1">';
        echo '<option selected value="0">- Choisir - </option>';
        echo '<option>Test</option>';
        echo '<option>Orihane</option>';
        echo '<option>Zebulon</option>';
        echo '<option>4</option>';
        echo '<option>5</option>';
        echo '</select></p>';
        echo '<input type="Submit" value="OK">';
        echo '</form>';
    }
?>
@++
pascal
__________________
"Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi
p.legal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 14h43   #10
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Bonjour,

Merci pour vos réponses. J'ai regardé ton script p.legal :

A quoi servent les 2 || (pipes)

Il est pas mal, mais il diffère totalement du mien point de vu écriture, alors j'essai de le "traduire".

Ceci dit, j'ai cogité cette nuit, et ya une problèmatique avec ma façon de faire.
Si je prends un exemple:

le Tchat de Zebulon n'est pas accessible via une url car il utilise une applet PJirc qui utilise a son tours un fichier de configuration ou il y a marquer l'adresse du serveur ainsi que le salon.

Donc je suis obligée de me tourner vers une autre solution plus pointue:

Le formulaire doit remplir le fichier de configuration:

En faite, il devrait y avoir 3 variables :

- l'adresse irc.xxx du serveur

- le pseudo

- #salon

à écrire dans ce fichier. Deplus, je pense qu'ici la méthode Post devrait être utilisée ?

Le fichier ressemble à ça :

# Mandatory parameters :

nick=Plouf on remplace par $pseudo
name=PJIRC user
host=www.diboo.net $serveur
gui=pixx
command2=/join #channel $channel
# Optional parameters :
asl=true
style:floatingasl=true
#coding=2

ça parait possible ?
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 00h38   #11
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Bonsoir,

Je suis bloquée avec le script du dessus :

Fatal error: Cannot break/continue 1 level in D:\Xampp\xampp\htdocs\www\tchat\index.php on line 39

Je vois pas ce quil faut faire ?
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 08h18   #12
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut arborescence bizarre

Citation:
Envoyé par Diabless6
D:\Xampp\xampp\htdocs\www\tchat\index.php on line 39
L'arborescence logique serait D:\xampp\htdocs\tchat\index.php

Le htdocs sous Windows vaut le www sous linux, ce n'était pas la peine de rajouter le répertoire www.
__________________
Expertise OpenERP - programmation PHP/MySQL
toujours à l'écoute du marché
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h18   #13
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
oui mais je n'ai pas affaire à un soucis d'arborescence ! ça vient purement du script et le header difficile à placer.
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h24   #14
Membre régulier
 
Inscription : janvier 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 85
Points : 80
Points : 80
|| est un opérateur logique (OU) pour verifier que les deux condition sont réalisées.

Ensuite pour modifier le contenu d'un fichier tu dois utiliser fsockopen( car la methode POST ne permet pas d'ecrire dans un fichier.

@++
__________________
"Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi
p.legal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h33   #15
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut Grosse Erreur!!!

|| représente l'opérateur logique OU
&& représente l'opérateur logique ET
__________________
Expertise OpenERP - programmation PHP/MySQL
toujours à l'écoute du marché
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 15h07   #16
Membre régulier
 
Inscription : janvier 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 85
Points : 80
Points : 80
Ooups !

J'ai corrigé mes deux précedents posts...

@++
__________________
"Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi
p.legal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 16h14   #17
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Ha! ok! Je savais pas ce que cela voulais dire, ya tellement de chose a savoir.

Mais je pensais écrire dans le fichier, c pas la peine !

Je fait un include, et je rajoute là ou il faut les variables <? $speudo ?>

Et pour ton code p.legal il marche pas ! le header n'est pas au début. Il marche que si ya rien avant j'ai lu ça. C compliqué
Mais bon, jen ai peut être pas besoin si je transmet les variables comme je le dis plus haut ?
C'est la galère pour structurer un petit bout de code
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h32   #18
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut garde courage

Il faut persévérer car après avoir bien galéré sur un point précis, il y a souvent énormément de choses derrière qui se décantent.

Je suis déjà resté des semaines entières bloqué sur un truc et quand je m'y suis replongé, c'est venu tout seul.

Garde courage et il y aura toujours du monde pour t'aider sur developpez.com
__________________
Expertise OpenERP - programmation PHP/MySQL
toujours à l'écoute du marché
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h54   #19
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Citation:
Envoyé par zyongh
Il faut persévérer car après avoir bien galéré sur un point précis, il y a souvent énormément de choses derrière qui se décantent.

Je suis déjà resté des semaines entières bloqué sur un truc et quand je m'y suis replongé, c'est venu tout seul.

Garde courage et il y aura toujours du monde pour t'aider sur developpez.com
Ben oui, mais à force de chercher, j'ai un mal de crane pas possible.
Tiens: hypnose c ton loisir ? c un truc que je crois pas ça ! Sinon ça serait trop facile de ramener quelqun dans son lit
Bon je vais boire un thé
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 18h31   #20
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Bon mon script est fonctionnel jusqu'a mon applet

Le seul soucis c que je n'arrive pas à joindre les 2 bouts

ma Form Mon choix serveur
ma Form Salon

Le problème c que suivant le choix du serveur, la liste de la Form salon doit changée.

Code :
1
2
$serveur=$_GET["serveur"];
$salon=$_GET["salon"];
Code :
1
2
3
4
5
if ($serveur=="Choix") {echo 'Il manque le serveur !';$ok="false";} 
else {echo $serveur;}
if ($serveur=="irc.diboo.net") { $salon="#general"; } 
else if ($serveur == "irc.orihane.org") { $salon="#accueil"; } 
else if ($serveur=="irc.united-irc.com") {$salon="#zebulon.fr";}
Code :
1
2
3
<select name="salon" size="1">
<option selected value="Choix">- Choisir - </option>
<option  style="background-color: blue; color: white"><? echo $salon ?></option>
C'est bleuffant ça marche pas Qu'est-ce que j'ai oublié ?
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h20.


 
 
 
 
Partenaires

Hébergement Web