Syntaxe input [Résolu]

Signaler
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
-
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
-
Bonjour,

Le script suivant fait bien la requête dans la table.
L'affichage du résultat avec les 2 "echo" dans le script de la requête se fait bien, par contre impossible d'avoir l'affichage dans l'input plus loin.


<?php  //Connection avec la BDD.
	include('secure/connex.php');
	mysql_connect($SQLhost, $SQLlogin, $SQLpass) or die(mysql_error());
	mysql_select_db('base_donnees',$db) or die(mysql_error());
	// Requete pour n'avoir qu'une fois le nom
	$sql = 'SELECT DISTINCT Nom, Prenom FROM table WHERE Num="'.$Num.'"';
	$resultat=mysql_query($sql);
	while($ligne=mysql_fetch_array($resultat)){
	echo $ligne['Nom'].'<br/>';
 	echo $ligne['Prenom'].'<br/>';
	}
 ?>


<p align="left"><LABEL for="Nom">Nom  :  </LABEL>

<?php echo '<input type="text" name="Nom" value="'.$ligne['Nom'].'"/> '.$ligne['Nom'].''; ?>


Idem si j'essaie,

 <input type="text" name="Nom" value="<?php .$ligne['Nom']. ?>" />


Si quelqu'un a la bonne syntaxe...
Merci d'avance

Daniel

Configuration: Windows / Firefox 74.0


--

6 réponses

Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900
Bonjour,

Plusieurs soucis dans ton code...
Déjà, normal que ça ne t'affiche rien, puis la variable $ligne est dans le while.. et que tu essaies de t'en servir en dehors.

Tu as également un include d'un fichier sensé contenir la connexion à ta bdd... mais tu l'as remet en dessous ?
include('secure/connex.php');
mysql_connect($SQLhost, $SQLlogin, $SQLpass) or die(mysql_error());


Que contient ton fichier connex.php ?

Sachant que, dans le code que tu nous montres, tu utilises l'ancienne extension mysql qui est désormais obsolète.
Il faut que tu passes à PDO ou Mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
(perso j'ai une préférence pour PDO )

Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
1
Bonjour,
Oui, je ne suis pas encore passé à PDO....
Mon connex contient le s valeurs de $SQLhost, $SQLMlogin et $SQLpass , il n'y a poas la bdd dedans c'est pour ça qu'elle en dessous.
Sinon, pour $ligne, je comprend mai ssi j'utilise $resultat c'est idem ! et elle n'est pas dans le while...


--
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900
C'est bien le moment de passer à PDO.
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
1
Merci pour la correction avec le while.

Pour le PDO, je m'y mettrai quand j'aurai plus cette continuelle erreur à l'affichage de mon fichier d'essai PDO.php ;-(

Parse error: syntax error, unexpected '{' in /mnt/162/sda/0/e/xxx/PDO.php on line 16

Ligne 16 qui correspond au try {

Merci encore et bonne soirée.

--
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900
Quelle version de PHP utilises tu ?
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900
Sachant que pour t'aider à corriger cette erreur, il faudrait nous montrer l'ensemble du code.
Il se peut que tu aies mal fermé une parenthèse, une accolade ou un point-virgule avant...

Je t'invite également à suivre les infos données ici :
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
1
Bjr,
Pour la version,
Current PHP version: 4.4.3-dev

Pour le code, c'est un copier coller de

<!DOCTYPE html>
    <html>
        <head>
            <title>Cours PHP / MySQL</title>
            <meta charset="utf-8">
            <link rel="stylesheet" href="cours.css">
        </head>
        <body>
            <h1>Bases de données MySQL</h1>  
            <?php
                $servername = 'localhost';
                $username = 'root';
                $password = 'root';
                
                //On essaie de se connecter
                try {
                    $conn = new PDO("mysql:host=$servername;dbname=bddtest", $username, $password);
                    //On définit le mode d'erreur de PDO sur Exception
                    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    echo 'Connexion réussie';
                }
                
                /*On capture les exceptions si une exception est lancée et on affiche
                 *les informations relatives à celle-ci*/
                catch(PDOException $e){
                  echo "Erreur : " . $e->getMessage();
                }
            ?>
        </body>
    </html>

et en remplaçant juste localhost par mon serveur sql.free.fr, le root username par le login, le password par... le mdp en laissant les guillemets de chaque côté et le point-virgule à la fin de chaque variable. Le tout dans un fichier PDO.php
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900
Php 4 ?????
Aie... Totalement obsolete.
Pdo ne fonctionne qu'à partir de php 5.3

A minima il faudrait que tu passes a la version 5.6
Mais le mieux serait de passer en 7.3
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020
2 900 >
Messages postés
29906
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 octobre 2020

Pour se faire, tu dois créer (si tu n'en a pas déjà un ) un fichier .htaccess à la racine de ton site et y mettre :

Pour passer en php 7.3
php73 1


Pour passer en php 5.6
php56 1
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
1
J'ai fais .htaccess et mis tout seul dedans
php73 1 comme suggéré.
Quand je lance Version.php

<?php
echo 'Current PHP version: '. Phpversion();
?>


j'ai une belle page Free "Erreur 500 - Erreur interne du serveur"
idem avec php56 1
j'ai effacé le fichier .htaccess que j'avais par ailleurs mais ça ne change rien pour les 2 tests.

J'ai une question mais c'est en rapport avec ma demande initiale. Vaut-il mieux que j'ouvre un nouveau message ou je poste ici ?

--
Messages postés
64
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
9 juin 2020
1
C'est fait..
Current PHP version: 5.6.34
c'est le .htaccess qui devait être ainsi
<IfDefine Free>
php56 1
</IfDefine> 


Bon, il n'y a plus qu'à reprendre certaines pages ; et peut-être que mon PDO va fonctionner....

--