0
votes

Comment imprimer une donnée spécifique stockée dans la base de données MySQL à l'aide de PHP

hi, j'ai ajouté une fonction à mon site Web où l'utilisateur peut annuler un ticket réservé à l'aide du code: Annuler.php xxx

et j'ai essayé d'ajouter une fonction au même billet que L'utilisateur peut annuler pour imprimer le ticket. L'utilisateur peut donc imprimer ce billet, le code que j'ai utilisé est: print.php xxx

le lien vers ces deux classes dans une classe appelée profil.php, et ce bit est dans la ligne où il est indiqué: xxx

Je serais heureux si vous pouvez me dire comment imprimer ces données .. Merci

L'utilisation de $ BKG xxx

Entrez la description de l'image ici


6 commentaires

Veuillez noter que votre code est vulnérable à Injection SQL , et tout le monde pourrait supprimer une réservation ils veulent très facilement! jamais Utiliser $ _ obtenir directement dans les instructions SQL - en particulier avec un Supprimer Déclaration! Vous devriez utiliser Déclarations préparées Au lieu de cela, contraignant les variables. Vous pouvez vous référer à Ce message pour plus d'informations sur la manière de prévenir l'injection SQL dans PHP :)


De plus, qu'est-ce que $ BKG concerne sur profil.php ? La déclaration de sortie L'ID a l'air correcte; Passez-vous vraiment en train de passer à travers l'identifiant dans $ bkg ['book_id'] ?


Je serai au courant de cela, et je vais partager le code où j'ai utilisé $ bkg


fenêtre.print () est une fonction JavaScript, vous ne pouvez pas l'appeler à l'intérieur d'un script PHP.


Comment puis-je faire cela chez PHP PLAY? Ou que dois-je faire pour que cela fonctionne pour celui-ci? Merci


En PHP l'équivalent de fenêtre.print est «écho» ... mais la section ultérieure du code où vous avez utilisé cette commande indique que vous le savez déjà ... bien sûr qu'il est important de réaliser qu'ils s'exécutent à des moments différents de Le cycle de vie de la page


3 Réponses :


1
votes
  1. Vous ne pouvez pas appeler fenêtre.print () dans le code PHP car il s'agit d'une fonction JavaScript

  2. en-tête ('emplacement: profil.php'); redirigera la page avant que le JavaScript ait la possibilité d'exécuter le code. Remplacez ce code avec un code JavaScript qui exécute après avoir imprimé la page.

    Votre impression.php: xxx


5 commentaires

Erreur fatale: Erreur non capturée: appelez à une fonction membre FETCH_ARRAY () sur BOOL en ligne 5


J'ai copié votre code de la question, il y a une erreur avec la commande SQL, elle devrait être Sélectionner * à partir de ... . J'ai corrigé ma réponse.


il a fonctionné mais cela ne prend pas les informations de la base de données, je téléchargerai une photo montrant ce qu'elle montre et laissez-moi savoir si vous pourquoi est-ce s'il vous plaît


Je veux que la sortie soit: les informations à l'intérieur de la table uniquement: par exemple; ID de réservation: BK451, Film: Nom, etc.


Je ne connais pas votre structure de base de données, j'ai mis à jour ma réponse pour vous montrer l'exemple, mettez la base de la base de votre base de données sur votre base de données.



1
votes

arrêter de coder maintenant!

Vous devez apprendre le très fondamental de la manière dont PHP + MySQL + HTML + JS travaille ensemble.

Pour le moment, vous n'avez pas besoin de savoir ce qui ne va pas avec votre code. Vous devez apprendre certains didacticiels de base, puis ré-écrire votre code à partir de zéro. Beaucoup de tutoriels sur tout l'interférum. Lire ceci .


Explication supplémentaire

serveur = où vit votre code.

client = le navigateur.

php & mysql en direct sur le serveur uniquement, travaillez sur le serveur , manipulé par le serveur .

html + CSS + JS Préparé par le serveur, le serveur, puis le envoyer au client, puis manipulé par Client (le navigateur). Donc, ils commencent travaillant quand dans le client (le navigateur). Tant qu'ils sont sur le serveur, ils ne sont que des cordes.

Donc c'est toujours comme:

  1. Demande de navigateur Fichier de requête du serveur ( http://www.mywebsite.com/something.php). Ceci est connu comme la requête .
  2. Server exécute le fichier PHP (quelque chose.php), qui peut générer une sortie (HTML + CSS + JS), le serveur envoie ensuite la sortie au client (navigateur). Ceci est connu sous le nom de réponse .
  3. Client (navigateur) reçoit ensuite la sortie (comme chaînes simples), puis le navigateur exécute le code (JS).

    conclusion:

    Ne dites pas au serveur d'exécuter JS, ne dites pas le client (navigateur) d'exécuter PHP ou MySQL.


0 commentaires

0
votes

J'ai modifié votre code pour travailler et trop plus sûr de manière sécurisée à l'aide de la déclaration de préparation.

<table>
<tr><th> id </th> <th> time </th> </tr>

<?php
if (!$bk = $con->prepare("select * from tbl_bookings where user_id = ? ")) {
echo $con->error; // show error message when SQL query is wrong or goes kaboom!
} else{
$bk->bind_param("s",$_SESSION['user']); //bind the blind parameters, "s" stands for string
$bk->execute ();// execute the query
$bk_result = $bk->get_result(); // get results 
}
while ($bk_row = $bk_result->fetch_assoc()){ ?>
<tr><td> <?php echo $bk_row['id']; ?> </td> <td> <?php echo $bk_row['id'] ?> </td> </tr>

<?php } //end while loop ?>
</table>


0 commentaires