Page 1 sur 1

Convertir un espace par %20

Posté : 30 janv. 2020, 14:10
par Belta
Bonjour ,

Mon petit problème c'est de réussir a convertir un espace en %20 car je passe par une API url pour envoyer un chat privé le truc vue que l'url prend pas l'espace le message passe pas y a blocage a l'api . si j'écrie direct dans le navigateur ca fonctionne sauf quand je le fait en script php il converti pas tout seul :(

voici mon code :
<br>
<form action="/api/api/api.php" method=GET>
            

            Message: <br><input type=text name=message></br>

                        
            <input type=submit value=Envoyer></form>

</br>
il faut qui converti uniquement les espaces en %20 dans cette ligne de code :
            Message: <br><input type=text name=message></br>

Si vous avez le morceau de code qui me manque je suis preuneur ! :)

Je vous remercie d'avance de votre réponse ! :)

Re: Convertir un espace par %20

Posté : 30 janv. 2020, 14:39
par Saian
Salut tu as la fonction urlencode.
https://www.php.net/manual/fr/function.urlencode.php

Après si tu veux rien ne t'empêche de faire un
str_replace(' ', '%20', $string);

Re: Convertir un espace par %20

Posté : 30 janv. 2020, 14:54
par Belta
Salut Merci pour ta réponse :)

ton petit code m’intéresse :
str_replace(' ', '%20', $string);
mes je l’intègre ou ton code dans se code :
<br>
<form action="/api/api/api.php" method=GET>
            

            Message: <br><input type=text name=message></br>

                        
            <input type=submit value=Envoyer></form>

</br>

Re: Convertir un espace par %20

Posté : 30 janv. 2020, 15:00
par Saian
Je suis pas sur de bien comprendre ton problème en fait. Si tu soumets un formulaire avec un input message contenant des espaces normalement tu n'as pas à t'en soucier. Ton formulaire est en GET donc les paramètres sont transmis à la suite de l'adresse et les espaces devraient être automatiquement échappés. Lors du clic sur le bouton submit tu vas avoir un call du genre :
/api/api/api.php?message=ton%20message&submit=Envoyer

Et puis logiquement si l'api en question à besoin d'une chaine url encodé, elle devrait faire cette conversion tout seule.

Re: Convertir un espace par %20

Posté : 30 janv. 2020, 15:05
par Belta
bha en gros lorsque j'écrie par exemple ( salut ) le message passe sans problème .

lorsque j'écrie ( Salut 2 ) j'ai remarquer des qu'il y a un espace le message se retrouve bloqué dans l'api qui repart vers un URL

par contre quand j'écrie ( Salut%202 ) la j'ai bien mon message Salut 2 qui arrive

Re: Convertir un espace par %20

Posté : 30 janv. 2020, 15:10
par Saian
T'as essayé de passer le formulaire en POST ? je trouve ça bizarre quand même que l'api ne prenne pas en charge les données du formulaire correctement.

Sinon ça veut dire quoi ça ?
j'ai remarquer des qu'il y a un espace le message se retrouve dans l'api qui repart vers un URL

PS : c'est quoi cette api ? elle n'a pas une documentation où elle parle de ça ?