IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

php javascript probleme history back


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut php javascript probleme history back
    Bonjour,


    voila j ai un souci bizarre j ai un formulaire qui me permet de modifier ou supprimer un pseudo , je choisis dans une liste déroulante modifier ou supprimer et selon le choix le script suivant s exécute pour la suppression tout est ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    if ($login=='Modifier un pseudo') {
     
    //la j affiche un tableau en input avec le visiteur puisse modifier le pseudo
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<form method="post" action="modif_login.php">';
    echo '<table>'."\n";
    echo '<tr>';
    echo '<th>pseudo</th>';
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td><input type="text" name="nom" value="'.$row["pseudo"].'"/></td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    echo '<br><center><input type="submit" name="ok" value="Modifier"/></center>';
     
    echo '</form>';
    }
    }
    ca me renvoi vers un autre script qui fait l update et m envoi un message si le format du pseudo n est pas valide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    $preg=(preg_match("#^.{15}$#", $pseudo)) ;
    if ($preg)
    {
    $sql2= "UPDATE login SET pseudo='".$_POST['pseudo']."',
    WHERE pseudo='".$pseudo2."'";
    $req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
    ?>
    <div id="ajout"><br/>
    <?php
    if($req2)
    {
    ?>
    <center><h4><?php echo 'login modifié'; ?></center></h4><br /><?php
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<center><table>'."\n";
    echo '<tr >';
    echo '<td>pseudo</td>';
    echo '</tr>'."\n";
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td>'.$row["pseudo"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table></center>'."\n";
    }
    }
    else
    {
    echo 'no update';
    }
    }
    else
    {
    echo "<script language=\"JavaScript\">\n";
    echo "alert($pseudo);";
    echo 'window.history.back();';
    echo "</script>";
    }
    mon souci est que quand le format du pseudo n est pas valide il me renvoie bien vers la page précédente mais sans les informations il me laisse un tableau vide le .$row["pseudo"] ne s affiche pas je ne vois pas pourquoi

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Pour info ca marche en local avec wamp et movamp mais pas ovh ...

  3. #3
    Membre éclairé
    Profil pro
    Développeur multimédia
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Par défaut
    Bonjour

    A la place de Pourquoi ne pas utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.location = 'adresse_du_script.php?pseudo=$pseudo2';
    Où $pseudo2 est l'ancien pseudo.

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Merci pour ta réponse mais avec cette option ca me renvoie vers une page avec juste mon header mon menu et mon footer alors par contre c'est bizarre j ai modifier mon preg match comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $preg=(preg_match("#^[0-9]{15}$#", $ss)) ;
    ca fonctionne il n entre rien dans la base de plus de 15 caractères qui ne soit pas un chiffre.

    Mais ce qui est bizarre pour mon history back c est que si je lui met une lettre en 16 eme caractère j affiche l alert je clique sur ok je fais retour il m affiche bien mon tableau avec mes row

    si je modifie un chiffre par une lettre ou si je met un lettre en premier caractère mes row ne s affiche c est a m en tirer les cheveux merci de votre aide

  5. #5
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    Bonjour,

    Dans le code que tu as mis, il y a 1'{ }' ou je ne vois pas à quoi elle font reférence ... je te les met en gras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    if ($login=='Modifier un pseudo') {
     
    //la j affiche un tableau en input avec le visiteur puisse modifier le pseudo
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<form method="post" action="modif_login.php">';
    echo '<table>'."\n";
    echo '<tr>';
    echo '<th>pseudo</th>';
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td><input type="text" name="nom" value="'.$row["pseudo"].'"/></td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    echo '<br><center><input type="submit" name="ok" value="Modifier"/></center>';
     
    echo '</form>';
    }
    }
    D.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    effectivement ils n ont rien à faire là j ai modifié mais ca ne résout pas mon problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP & Javascript] probleme !!
    Par marie4449 dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2006, 16h35
  2. [Javascript] Utilisation history.back()
    Par temperature dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/05/2006, 16h03
  3. [Javascript] Probleme avec history.back()
    Par lemagicien dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/04/2006, 12h02
  4. Réponses: 5
    Dernier message: 12/01/2006, 15h47
  5. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 20
    Dernier message: 12/01/2006, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo