ajutor cu un fomular

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

twigg
PHPRomania Supporter
Mesaje: 7
Membru din: Mie Dec 08, 2010 5:38 pm

ajutor cu un fomular

Mesajde twigg » Lun Aug 20, 2012 5:01 pm

Vreau sa fac ceva simplu ca in codul de mai jos

<form name=nume method="get" action="login.html">nume: <br /><input type="text" value="ex: Geta" onfocus="this.value = (this.value=='ex: Geta')? '' : this.value;" name="nume"></form>
<input type = "button" value = "trimite" onclick = "validate()">

As vrea ca validarea sa fie facuta dintr-o lista cu nume predefinita, in caz ca un nume este introdus gresit sa fie alertat cu un mesaj gen "nume gresit"; daca numele este in lista sa fie redirectionat pe o alta pagina.

Codul pe care incerc sa-l fac nu functioneaza:

{
var= new Array(ana, geta, lenuta);
if(inArray)
{
window.location.href=”login.php
}
else
{
alert("nume gresit");
}
}


Ma poate ajuta cineva ?



YaNoWa
PHPRomania Supporter
Mesaje: 5
Membru din: Mar Aug 16, 2011 9:15 pm

Mesajde YaNoWa » Lun Aug 20, 2012 6:05 pm

Cod: Selectaţi tot

<form name="nume" method="post" action="login.php">
   nume: <br />
      <input type="text" value="ex: Geta" onfocus="this.value = (this.value=='ex: Geta')? '' : this.value;" name="nume" />
<input type="submit" value="trimite" onclick="validate()" />
</form>

<!-- mai jos e fisierul login.php -->

<?php
if (isset($_POST['nume'])) {
   $nume=array('Geta','Alina','Mada');
   $i=0;
   $numar=count($nume);
   while ($i < $numar) {
      if ($nume[$i] == $_POST['nume']) {
         echo 'Nume corect';
      }
      ++$i;
   }
}
?>

Mai ramane sa ii pui redirectionarea catre pagina dorita in caz ca numele introdus este corect.

hadyh
Average Member
Mesaje: 118
Membru din: Mar Noi 30, 2010 12:57 pm

Mesajde hadyh » Mar Aug 21, 2012 12:10 pm

degeaba pui functia pe butonul de submit la onclick. trebuie sa pui pe formular la evenimentul onsubmit si sa returneze true sau false.

exemplu : onsubmit="return validate();"

functia js sa returneze la randul ei true/false.

twigg
PHPRomania Supporter
Mesaje: 7
Membru din: Mie Dec 08, 2010 5:38 pm

Mesajde twigg » Mie Aug 22, 2012 8:18 pm

Solutia lui YaNoWa este ok insa as fi vrut codul sub forma javascript, daca este cineva amabil..

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mie Aug 22, 2012 8:30 pm

Cod: Selectaţi tot

<script type="javascript">
function validate() {
   post_nume = document.getElementById(idimputname).value;
   nume=array('Geta','Alina','Mada');
   i=0;
   numar=nume.length;
   while (i < numar) {
      if (nume[i] == post_nume) {
         alert( 'Nume corect');
      }
      ++i;
   }
}
</script>


nu e testat dar cam asa e varianta js a codului php
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

keen
Senior Member
Mesaje: 254
Membru din: Joi Ian 28, 2010 5:05 pm
Localitate: Br?ila
Contact:

Mesajde keen » Joi Aug 23, 2012 11:52 am

Sper sa te ajute. L-am facut si l-am si testat special pentru tine :)
In pagina verificdate.php ai posibilitatea de a-ti alege tipul de eroare. Alerta sau mesaj sub formular. Ai explicatie acolo unde alegi :)


pagina js :

Cod: Selectaţi tot

function get_XmlHttp() {
  var xmlHttp = null;

  if(window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
  }
  else if(window.ActiveXObject) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return xmlHttp;
}

function ajaxrequest(tagID) {
  var cerere_http =  get_XmlHttp();
  var  datele = 'nume='+document.getElementById("nume").value;

  cerere_http.open("POST", 'verificdate.php', true);
  cerere_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  cerere_http.send(datele);
  cerere_http.onreadystatechange = function() {
    if (cerere_http.readyState == 4) {

document.getElementById(tagID).innerHTML = cerere_http.responseText;
var type = document.getElementById("alert").innerHTML;
if(type='wrong')
{
   alert("Numele introdus este gresit");
}

    }
  }
}


Pagina cu formularul:

Cod: Selectaţi tot

<!doctype html>

<html>
<head>
<script type="text/javascript" src="cale-spre-js.js"></script>
</head>
<body>

  Nume <input type="text" name="nume" id="nume" onblur="ajaxrequest('raspuns'); return false;"><br>
<div id="raspuns"> </div>


verificdate.php

Cod: Selectaţi tot

<?php

if(isset($_POST['nume']))
{
$nume = $_POST['nume'];

$type_of_alert = '1'; // 1 pentru alerta, 0 pentru mesaj
$inregistrari = array("Vasile", "Gheorghe", "Manole", "Ion");

if(in_array($nume,$inregistrari))
{
   //header("location: unde_ajunge_utilizatorul_daca_se_afla_in_array");
   echo "nume corect";
}
else
{
   if($type_of_alert=='1')
      {
         ?>
            <div id='alert' style='display: none;'>wrong</div>
         <?php
      }   
      else
      {
            echo "Numele introdus este gresit"; //aici iti faci tu stilurile
      }
}


}

?>

keen
Senior Member
Mesaje: 254
Membru din: Joi Ian 28, 2010 5:05 pm
Localitate: Br?ila
Contact:

Mesajde keen » Sâm Aug 25, 2012 11:34 am

Pentru cei care ii intereseaza scriptul cu nume si parola, il gasiti aici:

http://www.girlshare.ro/4448925.8


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 26 vizitatori