Syntaxe input [Résolu]

Signaler
Messages postés
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020
-
Messages postés
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 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
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479
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
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

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
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479
C'est bien le moment de passer à PDO.
Messages postés
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

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
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479
Quelle version de PHP utilises tu ?
Messages postés
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479
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
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

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
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479
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
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 2020
2 479 >
Messages postés
28953
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juin 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
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

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
62
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
31 mai 2020

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....

--